
初歩的な質問なので申し訳ありませんが、まあ。はい新入だから…
file1
contenttext1
とfile2
contentという2つのファイルが与えられたら、contentを含む新しいファイルを作成したいとtext2
思います。次のような命令があってほしい。file3
text1newtextinbetweentext2
cat file1 (dontknowwhat "newtextinbetween") file2 > file3
dontknowwhat
私が望むことができるものはありますか?そうでなければ、最良のアプローチは何ですか?
答え1
これには2つの方法があります。
グループコマンド
$ { 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
代わりに使用してください。