文字列から最初の文字([a-zA-Z])までのすべての文字を削除します。

文字列から最初の文字([a-zA-Z])までのすべての文字を削除します。

[a-zA-Z] 文字列の最初の文字の前のすべての文字を削除したいと思います。たとえば、

#121Abc-->Abc

%Ab#c-->Ab#c

Ab#c-->Ab#c

Abc-->Abc

1Abc-->Abc

1 21Abc-->Abc

1^1 Abc-->Abc

注:アルファベット以外のすべての文字には、印刷されない文字が含まれています。

bashツールを使用できますか?

ベストアンサー1

そしてawk

awk 'sub(/^[^[:alpha:]]*/, "")' infile

そしてsed

sed 's/^[^[:alpha:]]*//' infile

注:行にアルファベット文字が含まれていない場合は、出力に空白行があります。この行印刷をスキップして入力から空白行をスキップするには、次のようにする必要があります。

awk 'sub(/^[^[:alpha:]]*/, "") && NF' infile
awk 'sub(/^[^[:alpha:]]*/, "") && /./' infile
sed 's/^[^[:alpha:]]*//;/./!d' infile

または同じアプローチgrep(ありがとう。こんにちは)

grep -o '[[:alpha:]].*' infile

おすすめ記事