0

WindowsでCygwinを使用しています。名前に正確に 9 文字を含むファイルからすべての行を抽出したいと考えています。

これを行うために、私は以下を使用しています:

cat filename.txt | grep -P "[a-z]{9}"

ただし、これは大文字と小文字が異なり、長さが 9 を超える単語も返します。

環境変数 LC_ALL を C に設定しました。

私はこれを機能させることができます:

猫のファイル名.txt | grep -P "^[az]*[az]$"

そして、これは小文字の単語のみを表示します。

Cygwin でコマンドを実行していることに注意してください。Cygwin と Linux ディストリビューションの間には特定の違いがあることがわかりました。コマンドは同じようには機能しません。

4

1 に答える 1

1

試す

cat filename.txt | grep -P "^[a-z]{9}$"

^ = 文字列の先頭

$ = 文字列の終わり

正規表現は、長さが 9 の倍数である小文字のアルファベットを含むすべての単語を返します。

于 2012-07-28T04:05:56.980 に答える