bash を使用して 1 つまたは複数のファイルをその場で処理するにはどうすればよいですか?
つまり、 file から読み取り、x
何らかの処理 (検索置換など) を実行し、 file に書き込みますx
。
私はsed
あなたができることを知っています: sed -i "" "s/original/replacement/g"
、しかし時々 sed はそれをカットせず、-の-i ""
ようなオプションがない別のツールが必要です。
私は最近、次のことができることを自分で発見しました。
( BUFFER="`cat FILENAME`"; echo "$BUFFER" > FILENAME )
環境変数を使用してファイルの内容を保存します。非常に大きなファイルの場合、これはおそらく効率的ではなく、環境変数の容量が制限される可能性があります。
別の方法はありますか?
この回答も読みましたが、bash ソリューションを探しています。何らかの形でタスクに完全に適合するオープンソース ツールも歓迎されます。