test.txt
次の内容を含むファイルがあります。
SCDE1
SF9
STR1D2
SREDF21
FRED
STER2R4
最後の文字が数字の場合にのみ削除したいので、出力は次のようになります。
SCDE
SF
STR1D
SREDF2
FRED
STER2R
答え1
これはあなたの基準に準拠していますか?
入力データ:
cat user324294
SCDE1
SF9
STR1D2
SREDF21
FRED
STER2R4
そして変換:
sed 's/[0-9]$//' user324294
SCDE
SF
STR1D
SREDF2
FRED
STER2R
正規表現に関する注意:行末以降のすべての数字は何も置き換えられません。
答え2
最後の文字が数字の場合は削除されます。
sed 's|[0-9]$| |g' file
出力:
SCDE
SF
STR1D
SREDF2
FRED
STER2R
答え3
必要なのは、テキストと一致する正規表現(正規表現)です。
正規表現の一致一つ番号はです[0-9]
。行の終わりはです$
。
量子:
[0-9]$
これで、次をsed
使用して各行のテキストを削除できます。
sed 's/[0-9]$//' test.txt
複数の数字を変更する必要がある場合は、繰り返し修飾子を使用してください。この場合*になることができます。質問はありませんが、知っておくと便利です。
sed 's/[0-9]*$//' test.txt