cat file1 file2
두 개의 텍스트 파일을 병합합니다. 하지만 그 사이에 한두 줄 정도의 구분 기호를 추가하려면 ********************************
첫 번째 파일을 열고 끝에 줄을 추가해야 할까요, 아니면 두 번째 파일을 열고 맨 위에 줄을 추가해야 할까요? 명령을 실행 하시겠습니까 cat
? 단일 명령을 실행하여 수행할 수 있습니까?
답변1
이제 다음을 수행할 수 있습니다 bash
.zsh
cat file1 <(echo '********************************') file2
또는 mikeserv가 그의 의견에서 지적한 것처럼 (모든 쉘에서):
echo '********************************' | cat file1 - file2
David Z는 Bash에서 다음과 같이 댓글을 달았습니다.
cat file1 - file2 <<< '********************************'
파일의 모든 줄 바꿈이 표시됩니다. file2
이는 "구분 기호" 뒤에 개행 문자를 원하지 않는 경우(예: 개행 문자로 시작하는 경우 ) 작동 echo -n '****'
하므로 다음의 개행 문자를 억제합니다 *
.
답변2
답변3
여러 명령으로 분할할 수도 있습니다.
cat file1; echo '------------'; cat file2
그룹 명령이나 하위 쉘을 사용하여 파이프하거나 리디렉션할 수 있습니다.
# GROUP COMMAND:
{ cat file1; echo '----------'; cat file2; } | other-command
# ^ final semicolon is part of the syntax!
# SUBSHELL:
( cat file1; echo '----------'; cat file2 ) | other-command
물론 평소처럼 세미콜론을 사용하는 대신 여러 줄에 걸쳐 쓸 수도 있습니다. 그리고 다른 구분 기호 등을 사용하여 다른 파일로 쉽게 확장할 수 있습니다.
답변4
find
매개변수 -printf
및 를 -exec
조합하여 사용하면 파일 cat
내용 앞뒤에 텍스트를 배치할 수 있습니다.
find . -type f -name "*.txt" -printf "/n This is before! \n" -exec cat {} \; -printf "/n This is after! /n" >> output.txt