답변:
그러면 all.txt에 출력이 추가됩니다.
cat *.txt >> all.txt
all.txt를 덮어 씁니다.
cat *.txt > all.txt
echo *.txt | xargs cat > all.txt
Windows 셸 copy
을 사용 하여 파일을 연결할 수 있습니다.
C:\> copy *.txt outputfile
도움에서 :
파일을 추가하려면 대상에 단일 파일을 지정하고 소스에 여러 파일을 지정하십시오 (와일드 카드 또는 file1 + file2 + file3 형식 사용).
이러한 방법 중 어느 것도 많은 파일에서 작동하지 않으므로주의하십시오. 개인적으로 나는이 줄을 사용했다 :
for i in $(ls | grep ".txt");do cat $i >> output.txt;done
편집 : 누군가가 코멘트에 말했듯이, 당신은 대체 할 수 $(ls | grep ".txt")
와 함께$(ls *.txt)
편집 : @gnourf_gnourf 전문 지식 덕분에 glob 를 사용하는 것이 디렉토리의 파일을 반복하는 올바른 방법입니다. 결과적으로 같은 신성 모독적인 표현은 다음과 같이 $(ls | grep ".txt")
대체되어야합니다 *.txt
( 여기 의 기사 참조 ).
좋은 해결책
for i in *.txt;do cat $i >> output.txt;done
for i in $(ls *.txt);do cat $i >> output.txt;done
?
ls *.txt
너무 많은 파일 (인수 목록이 너무 긴 오류)가있는 경우 실패?
이 방법은 어떻습니까?
find . -type f -name '*.txt' -exec cat {} + >> output.txt
-maxdepth 1
받는 find
명령.
sort -u --output="$OUTPUT_FILE" --files0-from=- < <(find "$DIRECTORY_NAME" -maxdepth 1 -type f -name '*.txt' -print0)
type [source folder]\*.[File extension] > [destination folder]\[file name].[File extension]
예를 들어 :
type C:\*.txt > C:\1\all.txt
C : \ 폴더의 모든 txt 파일을 가져 와서 all.txt의 이름으로 C : \ 1 폴더에 저장합니다.
또는
type [source folder]\* > [destination folder]\[file name].[File extension]
예를 들어 :
type C:\* > C:\1\all.txt
폴더에있는 모든 파일을 가져 와서 C : \ 1 \ all.txt에 내용을 넣습니다.
all.txt를 all.txt로 분류하는 문제가 발생하면 all.txt가 있는지 확인하고 존재하는 경우 제거하십시오.
이처럼 :
[ -e $"all.txt" ] && rm $"all.txt"
cat *.txt > all.txt
>
존재하는 경우 all.txt 명령 덮어 쓰기는 >>
기존 파일에 데이터를 추가
그 모든 것은 불쾌합니다 ....
ls | grep *.txt | while read file; do cat $file >> ./output.txt; done;
쉬운 물건.
find . -iname "*.txt" -maxdepth 1 -exec cat {} >> out.txt \;