一部の行はで始まり、#
任意の数字(1つ以上の数字)で始まります=
。ハッシュで始まる行の場合、行の先頭から等号(含む)までのテキストを削除します。
ファイルの例:
some text
#5=get('data');
;done;
結果ファイル:
some text
get('data');
;done;
ベストアンサー1
sed 's/^#[[:digit:]]\{1,\}=//' < file.in > file.out
ほとんどのsed
実装では、このオプションを使用して、次に置き換えることができる-E
拡張正規表現を取得できます。\{1,\}
+
sed -E 's/^#[[:digit:]]+=//' < file.in > file.out
[[:digit:]]
そのロケールで10進数で分類された文字と一致します。 GNUシステムでは常に一致します[0123456789]
。他の場合は、他の10進数と一致する可能性があります(0123456789を除く)。一致は[0-9]
通常、ややランダムですが、常に0123456789を含み、他のASCII文字は含まれません。よくわからず、正確に何と一致させたい場合を使用してください[0123456789]
。
または、次のものを使用できますperl
。
perl -pe 's/^#\d+=//' < file.in > file.out
\d
[0123456789]
そのオプションを渡さない限り、一致します-C
。この場合、入力をUTF-8でエンコードされていると解釈し(ロケールがUTF-8を使用している場合)、Unicodeが10進数で分類する文字と一致します(例:0123456789٠١٢٣٥٦٧٨٩0123456789