構成ファイルの次のテキストを空白行に置き換えるにはどうすればよいですか?
# + : STANDANRD\ADMIN_USERS_ONLY : ALL
答え1
sed -i 's/# + : STANDANRD\\ADMIN_USERS_ONLY : ALL//g' config_file
これで問題が解決します。二重バックスラッシュに注意してください。これは、バックスラッシュの後に文字が続くことが正規表現パーサーに特別な意味を持つため、重要です。これらのメタ文字はスペース(\s
)、英数字(\w
)、または\A
文字列の先頭()です。正規表現ウィキバッグと記事最もよく使われるメタ文字をまとめた表があります。)バックスラッシュは特別な意味を持つので、必ず入力する必要があります。ダブルファイル内の単一のバックスラッシュを一致させたい場合はバックスラッシュです。
CentOS 7の出力例:
[tux@centos7 ~]$ cat config_file
# + : STANDANRD\ADMIN_USERS_ONLY : ALL foo
[tux@centos7 ~]$ sed -i 's/# + : STANDANRD\\ADMIN_USERS_ONLY : ALL\(.*\)/\1/g' config_file
[tux@centos7 ~]$ cat config_file
foo