File1
コンテンツ:
line1-file1 "1"
line2-file1 "2"
line3-file1 "3"
line4-file1 "4"
File2
コンテンツ:
line1-file2 "25"
line2-file2 "24"
Pointer-file2 "23"
line4-file2 "22"
line5-file2 "21"
Perl/shell スクリプトが実行された後、File2
内容は次のようになります。
line1-file2 "25"
line2-file2 "24"
line1-file1 "1"
line2-file1 "2"
line3-file1 "3"
line4-file1 "4"
Pointer-file2 "23"
line4-file2 "22"
line5-file2 "21"
File1
つまり、File2
「Pointer」を含む行の前にinの内容を貼り付けます。
ベストアンサー1
このsed
ユーティリティには修正操作を実行する機能があります。
sed -i -e '/Pointer/r file1' file2
しかし、これはあなたを針コンテンツの上の行ですfile1
。簡単に言えば、遅延ライン出力です。
sed -n -i -e '/Pointer/r file1' -e 1x -e '2,${x;p}' -e '${x;p}' file2
GNUの使用sed
:
sed '/Pointer/e cat file1' file2
~によると手動のためe [command]
:
rコマンドとは異なり、このコマンドの出力はすぐに印刷されます。 r コマンドは、現在の期間が終了するまで出力を遅延します。