![파일 내용과 사용자 정의 텍스트를 새 파일로 연결](https://linux55.com/image/184431/%ED%8C%8C%EC%9D%BC%20%EB%82%B4%EC%9A%A9%EA%B3%BC%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A5%BC%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%97%B0%EA%B2%B0.png)
초보적인 질문이라 죄송합니다만, 글쎄요.예신입이니까...
file1
content text1
와 file2
content 라는 두 개의 파일이 주어지면 content 를 포함하는 새 파일을 text2
만들고 싶습니다 . 다음과 같은 명령이 있었으면 좋겠다.file3
text1newtextinbetweentext2
cat file1 (dontknowwhat "newtextinbetween") file2 > file3
dontknowwhat
내가 원하는 것을 할 수 있는 것이 있나요 ? 그렇지 않다면 가장 좋은 접근 방식은 무엇입니까?
답변1
여기에는 두 가지 방법이 있습니다.
그룹 명령
$ { cat file1; echo "newtextinbetween"; cat file2; } > file3 $ cat file3 text1 newtextinbetween text2
서브쉘 사용
$ ( cat file1; echo "newtextinbetween"; cat file2 ) > file3 $ cat file3 text1 newtextinbetween text2
명령 대체 사용
$ printf '%s\nnewtextinbetween\n%s\n' "$(cat file1)" "$(cat file2)" > file3 $ cat file3 text1 newtextinbetween text2
각 블록 사이에 줄 바꿈을 원하지 않으면 다음과 같이 할 수 있습니다.
$ printf '%snewtextinbetween%s\n' "$(cat file1)" "$(cat file2)" > file3 $ cat file3 text1newtextinbetweentext2
답변2
또 다른 방법은 프로세스 대체를 사용하는 것입니다.
cat file1 <(echo "newtextinbetween") file2 > file3
echo
편집: 개행 문자를 추가하는 방법을 모르면 echo -n
대신 사용하십시오.