私は次のコマンドを持っています:
sed -i 's/^CREATE DATABASE.*$//' world.sql
実行すると、次のように表示されます。
sed: -I or -i may not be used with stdin
そして、.という名前の新しいファイルを作成しますorld.sql
。元のファイルは引き続き存在します。
それで、私は命令をsed
見ていますか?この動作を防ぐにはどうすればよいですか?world.sql
w orld.sql
[これはmacOSです。 ]
ベストアンサー1
私の知る限り、sed
MacOSにはFreeBSDバージョンがありますが、必要このオプションを使用するときに提供するバックアップサフィックスです-i
。表示されるエラーメッセージは、オプションを指定せずにオプションを使用したため、コマンドの一部を誤って解釈したことを意味します。
だから一度試してください。
sed -i".backup" 's/^CREATE DATABASE.*$//' world.sql
world.sql.backup
これにより内部編集が作成され、実行されますworld.sql
。
一部 sed
バージョンでは、空のバックアップサフィックスを受け入れることができます。たとえば、sed -i ''
これによりバックアップファイルは作成されませんが、使用している特定のバージョンのドキュメントを確認する必要があります。バラより
より多くの洞察を得るために