텍스트를 결합하고 각 파일 앞에 빈 줄을 추가합니다.

텍스트를 결합하고 각 파일 앞에 빈 줄을 추가합니다.

파일 사이에 새 줄을 유지하면서 디렉터리에 있는 여러 텍스트 파일을 새 파일로 병합하고 싶습니다.

답변1

상황에 따라 다음과 같이 간단할 수 있습니다.

파일을 가져오기 위한 일부 와일드카드(filea, fileb, filec 등)

FILES=`ls file*`

그런 다음 연결하세요

for i in $FILES; do cat "${i}" >> newfile; echo "" >> newfile; done

답변2

한 가지 방법은 다음과 같습니다 GNU find.

td=$(mktemp -d);printf '\n\n' > "$td/2"
find . -maxdepth 1 -type f -exec cat {} "$td/2" \; | head -n -2 > "$td/log"

find현재 디렉터리의 일반 파일을 가져와 cat빈 줄로 연결된 파일에 전달합니다. 마지막으로 출력은 head후행 공백 줄이 제거된 파일에 공급된 다음 로그 파일에 저장됩니다.

perl -lpe '$\ = eof && !eof() ? "\n\n" : $/' *.files

관련 정보