여러 개의 텍스트 파일을 하나의 파일로 결합


10

pr여러 텍스트 파일을 하나의 텍스트 파일로 결합하기 위해 unix 명령을 사용하고 있습니다.

pr -F *files > newfile

각 파일은 길이가 다르고 줄 수가 다릅니다. 나는 주로 결과에 만족합니다. 원래 텍스트 파일의 이름과 그 파일의 내용이 포함되어 있기를 바랍니다. 그러나 원본 텍스트 파일 이름과 내용 사이의 빈 줄을 제거하고 싶습니다. 서로 다른 텍스트 파일 사이에 빈 줄만 사용하여 각각을 분리하고 싶습니다. 또한 ^L각 텍스트 파일의 내용 뒤에 문자를 인쇄하므로 해당 문자 를 제거하고 싶습니다.

읽은 각 파일에도 '페이지'번호가 부여됩니다. 하나의 파일 만 66 줄 기본값보다 깁니다. 그 파일은 2 개의 '페이지'로 뱉어지고 빈 줄로 나뉘어 진 2 개의 섹션으로 나뉩니다. 텍스트를 나누지 않고 계속해서 쓸 수 있습니까?

도움을 주셔서 감사합니다!

답변:


9

AWK 유틸리티를 사용할 수 있습니다 :

awk 'FNR==1{print ""}{print}' *files > newfile

출처 : /programming/1653063/how-do-i-include-a-blank-line-between-files-im-concatenating-with-cat


제안 해 주셔서 감사합니다. 그러나 -T는 인식되지 않습니다. 중요한 경우 Mac OS X에서 작업하고 있습니다.
— janet

불행히도 -t는 cat과 동일한 유형의 파일을 생성하고 텍스트 파일을 읽지 않습니다.
— janet

Radu 감사합니다. 바로 내가 원하는 것을 얻습니다! 죄송합니다. 주제를 벗어났다는 알림이 표시되어 잘못된 위치에 게시하고 있음을 알게되었습니다. 도와 주셔서 감사합니다!
— janet

12

파일 사이에 빈 줄을 만들려면 :

cat file1 newline file2 newline file3 > newfile

여기서 'newline'은 빈 줄이있는 파일입니다.


파일을 만드는 방법을 명확히 할 수 있습니까 newline? 일부 텍스트 편집자는 마지막 줄에 줄 끝 문자를 자동으로 추가하고 다른 줄 문자는 자동으로 추가하지 않으므로 일부 사람들은이 파일을 올바르게 작성하는 데 문제가 발생할 수 있습니다. 달리 말하면 길이가 0 인 파일에 줄이 없거나 줄이 있습니까?
— Eliah Kagan

vim에서 vim 개행 : wq 그게 다야.
— 다리우스 치케 비치 우스

내가 아는 한 "cat"은 각 파일 사이에 새로운 줄을 자동으로 넣습니다.
— myuce

1
for file in *.txt; do (cat "${file}"; echo) >> concatenated.txt; done

위는 eacb txt 파일의 내용을 concatenated.txt에 추가하여 그 사이에 줄을 추가합니다.


0

다음을 사용 cat하여 파일 텍스트를 하나의 파일로 덤프하는 데 사용할 수 있습니다 .

cat file1 file2 file3 > newfile

2
불행히도 cat다른 요구 사항을 충족시키지 못합니다.
— 이그나시오 바스케스-아 브람스

1
네 감사합니다. 그러나 cat은 원본 텍스트 파일 이름없이 각 파일의 내용을 나열하고 사이에 구분없이 각 파일의 내용을 차례로 나열합니다. 새로운 하나의 큰 파일에서 각 텍스트 파일의 내용 사이에 적어도 하나의 빈 줄이 필요합니다.
— janet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.