無効なsedコマンドが実行されました。すべてのソースコードファイルが混乱しています。

無効なsedコマンドが実行されました。すべてのソースコードファイルが混乱しています。

基本的に私はこれを実行しました。

sed -i '/s/icap_infos/icap_servers/g' *

代わりに:

sed -i 's/icap_infos/icap_servers/g' *

コマンドで「s」の前にスラッシュがあることを確認してください。

今私のすべてのソースファイルには、ファイル全体に奇妙なテキスト文字列が散在しています。どうすれば解決できますか?

ベストアンサー1

/s/文字を含むすべての行に一致する正規表現アドレスs。 GNU sedでitext標準拡張

i\
text

それtext指定された行の後に挿入します。したがって、コマンドはcap_infos/icap_servers/gすべてs

元のファイルにそのようなファイルがないと仮定すると、次のものを使用できます。

sed -i.old '\:^cap_infos/icap_servers/g$:d' *

到着Dエレテラインがcap_infos/icap_servers/g正確に一致します。パターン自体にデフォルトの区切り文字が含まれているため、:代替区切り記号(で導入)を使用することに注意してください。現在のファイルが機能していないために他のものを試す必要がある場合に備えて、サフィックスを付けてバックアップされます。\:/.old

将来的には、sedコマンドをドライに実行する習慣を身につけてください。いいえ -iまず、バックアップを作成して/または-i.bak通常の代わりに使用してください-i

おすすめ記事