GNU/Linux >> Linux の 問題 >  >> Linux

Linux でオンザフライでファイルを変更する (パイプ上の入力ファイルへの書き込み)

次のような moreutils のスポンジを使用してみてください:

sed "s/root/toor/" /etc/passwd | grep -v joey | sponge /etc/passwd

出力に書き込む前に入力全体を収集します。


sed はまだ一時ファイルを作成する可能性があると思いますが、次のようにするとうまくいくでしょうか? (これでstraceを使用すると、sedが一時ファイルを作成するかどうかが表示される場合があります)。

sed -i '/bar/!d' foo.txt

感嘆符は一致を反転します。d は削除を意味するため、バーを含まないすべての行が削除されます。


Linux
  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. Linuxターミナルでファイルをコピーする

  3. Linuxターミナルでファイルを移動する

  1. Linuxでmvなしでファイルを移動する

  2. Linuxで最高のファイル転送ツール

  3. Linux での sed コマンドの例

  1. Linuxのコマンドラインを使用してファイルを作成する

  2. Linux sed コマンドでターゲット ファイルが変更されない

  3. Linux で開いているファイルの最大数の制限は何ですか?