Unixで最後の単語の後にファイルテキストを追加する

Unixで最後の単語の後にファイルテキストを追加する

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)"

おすすめ記事