UNIXシステムでは、他のファイルの最後の単語の後にファイルテキストを追加したいと思います。
ファイル1
& program executed successfully
ファイル2
Hello
World
This is a sample output
最初の2つの単語をコピーしてfile2の最後の単語の後に貼り付けたいです。
予想出力:
ファイル3
Hello
World
This is a sample output & program
File2には末尾に改行文字があるので、それを使用しようとすると、cat
同じ行の最後の単語の後にではなく新しい行に印刷されます。 UNIX コマンドと bash シェルを使用するソリューションを提案します。
ベストアンサー1
各行の最初の2つの単語を選択できますfile2
。
$ cut -d' ' -f1-2 file1
& program
したがって、これを使用して次の操作を実行できます。
$ printf '%s %s\n' "$(cat file2)" "$(cut -d' ' -f1-2 file1)" > file3
$ cat file3
Hello
World
This is a sample output & program
ファイルに複数の行がある可能性があり、最初の行だけが必要な場合は、以下を渡してくださいhead
。
printf '%s %s\n' "$(cat file2)" "$(cut -d' ' -f1-2 file1 | head -n1)"