テキストをスペースに置き換えるには sed ヘルプが必要です

テキストをスペースに置き換えるには sed ヘルプが必要です

構成ファイルの次のテキストを空白行に置き換えるにはどうすればよいですか?

# + : 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

関連情報