-i を使用する場合、OS X ではバックアップ ファイルの拡張子が必要です .試してみてください:
sed -i .bak 's/hello/gbye/g' *
GNU sed
の使用 拡張子はオプションです .
-i
を使用する場合 バックアップの拡張機能を提供する必要があります。
お持ちの場合:
File1.txt
File2.cfg
コマンド (-i
の間にスペースがないことに注意してください) そして ''
そして -e
新しいバージョンの Mac と GNU で動作するようにします):
sed -i'.original' -e 's/old_link/new_link/g' *
次のような 2 つのバックアップ ファイルを作成します:
File1.txt.original
File2.cfg.original
すべてのケースで機能する sed コマンドの組み合わせを見つけることは不可能であるため、バックアップ ファイルの作成を回避する移植可能な方法はありません:
sed -i -e ...
--e
を作成するため、OS X では動作しません バックアップsed -i'' -e ...
- OS X 10.6 では動作しませんが、10.9 以降では動作しますsed -i '' -e ...
- GNU では動作しません
注意 すべてのプラットフォームで動作する sed コマンドがない場合、別のコマンドを使用して同じ結果を得ることができます。
例:perl -i -pe's/old_link/new_link/g' *
Linux のサンドボックスで信頼できない C プログラムを実行し、ファイルのオープンやフォークなどを防止しますか?
Linuxを使用して、ファイルの内容をパラメーターとして実行可能ファイルに渡すにはどうすればよいですか?