最後の文字が奇数の場合、文字列を印刷します。

最後の文字が奇数の場合、文字列を印刷します。

ファイルにホスト名のリストがありますが、最後の文字に基づいて区別したいと思います。最後の文字が奇数の場合、ホスト名がファイルに書き込まれます。 1つのライナーでどのようにこれを行うことができますか?

例:

abc123
abc124
abc348
abc435

希望の出力:

abc123
abc435

ベストアンサー1

短いawk注文する:

awk '/[13579]$/' file > hostnames_odd.txt
  • [13579]- 数値(奇数)リストを受け入れる文字クラスを表します。
  • $- 文字列/行の終わり

結果:

$ cat hostnames_odd.txt 
abc123
abc435

またはgrep:

grep '[13579]$' file  > hostnames_odd.txt

一部の行の末尾にスペースがある場合は、キーパターンを次のように変更します。[13579][[:space:]]*$

おすすめ記事