ここに例があります。協会についてsed
:
「#」で始まるすべての行の最初の数字を削除するには、次のようにします。
sed '/^#/ s/[0-9][0-9]*//'
最初のパターン()の利点は何ですか/^#/
?簡単に言えば、
sed 's/^#[0-9][0-9]*//'
ベストアンサー1
コマンドの一般的な形式はsed
次のとおりです。
[address[,address]] function
コマンドに単一のアドレスがある場合、そのアドレスと一致するすべての行で動作します。コマンドにアドレスがない場合は、すべての行で実行されます。
引用:POSIXsed
あなたの具体的な例に関して:
/^#/ s/[0-9][0-9]*//
コマンドにはアドレスがあり、
/^#/
で始まるすべての行と一致します#
。代替パターンはです
/[0-9][0-9]*/
。これは、行に表示される最初の数値の順序と一致します。一般英語の概要:で始まる各行の最初の数値シーケンスを削除します
#
。はい:
# non-digits|5555|non-digits|5555
これになる# non-digits||non-digits|5555
s/^#[0-9][0-9]*//
アドレスがないため、コマンドは各ラインで動作します。
置換パターンは、次
/^#[0-9][0-9]*/
の一連の連続した数字と一致します。#
固定行の先頭に。一般英語の概要:
#
各行の先頭から次の数値シーケンス(およびそのパターンのみ)を削除します。はい:
#5555|non-digits|5555
に変更されますが、|non-digits|5555
交換# non-digits|5555|non-digits|5555
パターンが一致しないため、変更されていません。