数字の後に「a」と「aa」をgrepする方法は?

数字の後に「a」と「aa」をgrepする方法は?

私の.txtファイルには次の行が含まれています。

1a
1aa
2a
2aa

「a」側に対して1つの特定のタスクを実行し、「aa」側に対して別の特定のタスクを実行したいと思います。より正確で明確に言えば、当事者「a」に対して私が実行する作業は、当事者「aa」に適用しないでください。になります。

たとえば、

  • 「aa」側ではディレクトリに移動したい
  • 「a」側の場合は、複数のディレクトリに移動したいと思います。

私のスクリプトでこれをどのように実行できますか?

ベストアンサー1

grep -xE '[0-9]+a'

xGrepsは、10以上の10進数の後に10進数を含む行のみを検索しますa

grep -xE '[0-9]+aa'

aa.

-Eある拡張正規表現必須+。デフォルトの正規表現を有効または無効にすることで、-x次のことができます。

grep '^[0-9]\{1,\}a$'

^$行の先頭と末尾でそれぞれ一致し、\{1,\}BREはEREと同じです+(一部のgrep実装ではこれをサポートし、\+いつでも使用できます[0-9][0-9]*)。

おすすめ記事