特定の長さのファイルを見つけるために正規表現を学びますか?

特定の長さのファイルを見つけるために正規表現を学びますか?

さまざまな長さの国のリストを含むファイルがあります。ファイルが呼び出され、countries私の作業ディレクトリにあります。

grepどの国に9つ以上の文字があるかを知らせるコマンドを実行したいと思います。

現在、構文を正しく作成しようとしています。

次の内容を見てみましょうか?

grep '^.\{9\}' countries

私は上記の方法を試してみましたが、何も機能しないと思いますか?

ベストアンサー1

これは私にとって効果的です。 9つ以上の文字(スペースを含む)を含むすべての単語を返します。

grep -oh '.\{9,\}' countries

質問をもう一度読んだ後に更新されました。今回は文字のみ一致します。したがって、9つ以上の連続した文字を含む国名が必要な場合は、ここに私の提案があります。

grep -ioh '[a-z]\{9,\}' countries

これは「署名」と一致しません。この例では、国名を 11 または 12 と見なすかによって異なります。しかし、「長さ」は9以上です。

おすすめ記事