Windows에서 cat을 대체할 수 있나요?
-
09-06-2019 - |
문제
두 개의 바이너리 파일을 *.bat
Windows의 스크립트.
어떻게 이를 달성할 수 있나요?
해결책
윈도우 type
명령은 UNIX와 유사하게 작동합니다. cat
.
예시 1:
type file1 file2 > file3
다음과 같습니다:
cat file1 file2 > file3
예시 2:
type *.vcf > all_in_one.vcf
이 명령은 모든 vcard를 하나로 병합합니다.
다른 팁
당신이 사용할 수있는 copy /b
이와 같이:
copy /b file1+file2 destfile
작업을 수행하는 기계를 제어할 수 있는 경우 다음을 설치하는 것이 좋습니다. GnuWin32.그냥 "모두 다운로드"하고 wget 프로그램이 모든 패키지를 검색하도록 하세요.그러면 cat, grep, find, gzip, tar, less 및 기타 수백 가지에 액세스할 수 있습니다.
GnuWin32는 새 Windows 상자에 가장 먼저 설치하는 것 중 하나입니다.
Shameless PowerShell 플러그(학습 곡선이 고통스럽다고 생각하므로 기회가 있을 때마다 무언가를 가르치는 것이 도움이 될 수 있습니다)
Get-Content file1,file2
참고하세요 type
Get-Content의 별칭이므로 더 마음에 들면 다음과 같이 작성할 수 있습니다.
type file1,file2
여러 소스 파일과 하나의 대상 파일에 dos copy 명령을 사용하면 됩니다.
파일1+파일2 추가파일 복사
바이너리 파일에는 /B 옵션이 필요할 수 있습니다.
Windows 10의 Redstone 1 릴리스에서 Windows는 NTOS 커널을 위한 실제 Linux 하위 시스템을 추가했습니다.원래는 Android 앱과 도커 유형 시나리오를 지원하도록 의도된 것 같습니다.Microsoft는 Canonical과 제휴하여 실제 기본 bash 셸을 추가했습니다.또한 apt 패키지 관리자를 사용하여 많은 Ubuntu 패키지를 얻을 수 있습니다.예를 들어, Linux 상자에서와 마찬가지로 apt-get gcc를 실행하여 GCC 도구 체인을 설치할 수 있습니다.
내가 대학에 다닐 때 그런 것이 있었다면 대부분의 Unix 프로그래밍 과제를 기본 Windows bash 셸에서 수행할 수 있었을 것입니다.
단순히 기존 파일 끝에 텍스트를 추가하려면 >> 파이프를 사용할 수 있습니다.전:
echo new text >>existingFile.txt
배치 스크립트를 사용해야 하고 여기에 Python이 설치되어 있는 경우 다각형 배치 및 Python으로 답변:
1>2# : ^
'''
@echo off
python "%~nx0" " %~nx1" "%~nx2" "%~nx3"
exit /b
rem ^
'''
import sys
import os
sys.argv = [argv.strip() for argv in sys.argv]
if len(sys.argv) != 4:
sys.exit(1)
_, file_one, file_two, out_file = sys.argv
for file_name in [file_one, file_two]:
if not os.path.isfile(file_name):
print "Can't find: {0}".format(file_name)
sys.exit(1)
if os.path.isfile(out_file):
print "Output file exists and will be overwritten"
with open(out_file, "wb") as out:
with open(file_one, "rb") as f1:
out.write(f1.read())
with open(file_two, "rb") as f2:
out.write(f2.read())
Join.bat로 저장한 경우 사용법은 다음과 같습니다.
join.bat file_one.bin file_two.bin out_file.bin
고마워요 이 답변 영감을 위해.
Linux 서버에서 분할된 tar 아카이브에 다시 가입하려고 합니다.
그리고 내가 사용하면 발견 type
윈도우에서는 cmd.exe
, 을 사용하면 파일이 잘못된 순서로 결합됩니다.(예: type
때때로 XXXX.ad를 먼저 넣은 다음 XXXX.ac, XXXX.aa 등을 넣습니다.)
그래서 이름이 붙은 도구를 찾았습니다. bat
GitHub에서 https://github.com/sharkdp/bat Windows 빌드가 있고 더 나은 코드 강조 표시가 있으며 중요한 것은 Windows에서 tar 아카이브에 다시 참여하는 것이 잘 작동한다는 것입니다!
그래서 나는 EOL Chars를 보존하기위한 abillity와 비슷한 솔루션을 찾고 있었고, 방법이 없다는 것을 알았으므로, 내가 최선을 다하는 일을하고 내 자신의 유용성을 만들었습니다. 이것은 Windows 용 기본 고양이 실행 파일입니다. https://mega.nz/#!6AVgwQhL!qJ1sxx-tLtpBkPIUx__iQDGKAIfmb21GHLFerhNoaWk
Usage: cat file1 file2 file3 file4 -o output.txt
-o | Specifies the next arg is the output, we must use this rather than ">>" to preserve the line endings
C#으로 구축되었기 때문에 샤프캣이라고 부릅니다. 바이러스 백신으로 자유롭게 스캔하면 요청 시 소스 코드를 사용할 수 있습니다.