ファイル.txt 入力:
one fffds
two xxxx
three ffff
four ffde
データファイル.txt:
six
seven
two xxxx
含まれている行を変更したいです。ファイル.txt 入力内容があるデータファイル.txt。出力ファイルは次のようにする必要があります。
出力ファイル.txt:
one fffds
six
seven
three ffff
four ffde
答え1
これは私にとって効果的です。
sed -n '
/two xxxx/{
rdata_file.txt
d
}
p'
行が式と一致する場合は、ファイルの内容を印刷して次のループを開始します。それ以外の場合は、2番目のコマンドが呼び出され、その行が印刷されます。
Perlで同様のタスクを実行するためのより読みやすい解決策:
perl -pe '/two xxxx/ and $_=`cat data_file.txt`'