私は現在ファイルのリストを取得するためにこのコマンドを使っています:
find -E . -regex '.*\.(jpg|jpeg|png|gif|pdf)'
そのコマンドを使用して、私はこのリストを取得します:
今:
documentA.pdf
documentB.jpeg
001documentC.png
...
私の目的はこのリストをフィルタリングすることなので、私は3つの整数で始まり、以前に設定された拡張子で終わるファイルだけを取得するでしょう。
目標:
001documentC.png
コマンドを微調整する方法 find -E . -regex
だから私はそのような行動を得るだろうか?私は正規表現文字列を作成しました: ([0-9][0-9][0-9]).*\.(jpg|jpeg|png|gif|pdf)
、でテスト済み regexPal.com しかし、findコマンドではうまく動作させることができませんでした。
あなたはまだそれの周りにスピーチマークを置いていますか? `(([0-9] [0-9] [0-9])。* \。(jpg | jpeg | png | gif | pdf) '?これで明らかに悪いことは何もわかりません…
—
djsmiley2k
の珍しい行動のように見えます
—
iBug
find
。なにがあなたの find
バージョン?
何が
—
simlev
-E
オプションはどういう意味ですか?私と一緒には動作しません find
。
による
—
simlev
man find
パス全体がチェックされるので、 find . -regextype awk -regex '.*/[0-9][0-9][0-9].*\.(jpg|jpeg|png|gif|pdf)'
私のために働きます。
私の端末ではうまくいきませんでした。私はMacOをzshを使っています。それがその理由かもしれません。うまくいくはずだったもう一つの例はそうではなかった、それが私がzshに責任があると思う理由です。
—
Yann-Reun