特定のパターンに一致する行をfile1からfile2に移動したい。Windows で、あるファイルから別のファイルへのカット アンド ペーストの操作に似ています。
例
file1bar
を含むすべての行を切り取り、新しく作成したfile2に貼り付けたいとしましょう
入力:
ファイル1
bla foo bla
bla bar bla
bla aaa bla
bla bar bla
bla foo bla
処理後の望ましい出力:
ファイル1
bla foo bla
bla aaa bla
bla foo bla
ファイル2
bla bar bla
bla bar bla
私が試したこと
grep
必要なfile2を作成しますが、 file1は変更しません
grep 'bar' file1 > file2
sed -i
目的のファイル 1 を変更しますが、ファイル 2は作成しません
sed -i '/bar/d' file1
両方のコマンドを次々に実行すると、望ましい結果が得られます。しかし、ここでは、好奇心からスクリプトをより簡潔にするために、 1 行のコマンドを探しています。
あなたの助けをいただければ幸いです。