초보적인 질문이라 죄송합니다만, 글쎄요.예신입이니까...
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
대신 사용하십시오.