grep/awk 3番目の列には文字列が含まれています。

grep/awk 3番目の列には文字列が含まれています。

文字列の例

blah:blah:example - 1234
blah1:blah2:example2 - 3213

コンテンツが存在することを確認したい。

- 1234

しかし、数字は異なる場合があります

私は使用できることを知っています

awk -F: '$3 ~ / - /' 

「-」があることを確認してください。しかし、数値の可能性を適用する方法は?

ベストアンサー1

基本的に「-」の後に数字があることを確認したいですか?
したい場合は、このように書くことができます
awk -F: '$3 ~ / - [0-9]+/'


より進化したソリューション

最後の数値に可能な値の配列(たとえば、1、2、3、4、5)がある場合は、次のように書くことができます。

values=(1 2 3 4 5)
awk -v vals="$(echo ${values[@]})" \
'{if(match(vals,$3" ")){print $0}}' input_file.txt

これにより、指定した配列input_file.txtの最後の数字を持つ項目のみが印刷されます。values

おすすめ記事