取り出そうとしています。第三この行のサブ式:
#EXTRA_GROUPS="dialout cdrom floppy audio video plugdev users"
(adduser.conf
疑問に思う人のためにはい、そのファイルがあります):
sed 's/\(EXTRA_GROUPS=\)\("\)\(.*\)\("\)/\3/' adduser.conf
これが働いて生産している間
#dialout cdrom floppy audio video plugdev users
#
(表現から記号は省略しましたので無視してください)、
sed 's/\(EXTRA_GROUPS=\)\("\)\(.*\)\("\)//3' adduser.conf
そうではなく、ファイルをそのまま残します。
最後の例では、逆参照番号3を削除する必要があることを知っていますが、/sd/3
(「3番目のサブ式を」sd
に置き換えます)を使用してコマンドを変更すると、実際には何もしません。
-n //p
同じ結果を得るために、options-allを使用してコマンドを実行してみました。
sed
私はDebian JessieコンピュータでGNUバージョン4.2.2を使用しています。
コアユーティリティ「教育」の一部のコア部分を見逃していますか?それともしばらく太陽から外れていましたか?
答え1
これ/n
バナー代替コマンドは何のs
関係もsed
ありません逆参照 \n
。
- たとえば、
s/regex/string/3
現在の行の3番目の項目をに置き換えることができます。regex
string
- を使用すると、
s/regex/\3/
最初のアイテムをregex
3番目のキャプチャグループに置き換えることができます。 - を使用すると、
s/regex/\3/3
3番目の一致をregex
3番目のキャプチャグループに置き換えることができます。
この場合は、おそらく次のようなより簡単なものを使用します。
sed 's/^.*EXTRA_GROUPS="\([^"]*\)".*$/\1/'
文字列を使用しない場合、文字列のビットをキャプチャすることは役に立ちません。