GNU/Linux >> Linux の 問題 >  >> Linux

この正規表現が Linux で機能しないのはなぜですか?

GNU find はデフォルトで emacs 正規表現を使用します。そのタイプは -regextype で変更できます オプション (man find を参照)。

-regextype posix-egrep を使用する場合 あなたの表現は機能しているようです。その後、おそらくパターンを ^.+(jpg|gif|exe)$ に減らすこともできます

emacs の場合:find . -regex '.+\(jpg\|gif\|exe\)$' .これらの特定の正規表現ルールについては、emacs マニュアルのこのセクションを参照してください。 | をエスケープする必要があります そして ()


emacs regexps ( では 、 |) 文字通りの場合を除き これは、他のすべての正規表現形式とは正反対です。

あなたの式は ^.+\.\(jpg\|exe\|gif\)$ として機能します .


Linux
  1. 一部のコマンドでBashプロセス置換が機能しないのはなぜですか?

  2. Linux Setuidが機能しませんか?

  3. Linux – Linux上のRsyncがすべてのタイムスタンプ(作成時間)を保持しないのはなぜですか?

  1. Tomcat がポート 8080 で動作するのに 80 で動作しないのはなぜですか?

  2. Windows が Linux パーティション内のファイルを認識しないのはなぜですか?

  3. 自動リピートが機能しない

  1. 正規表現がXで機能するのに、Yでは機能しないのはなぜですか?

  2. Linux –なぜSuだけでなくSuを使用するのですか?

  3. Linux – Arch Linux:Chrooting時にPacmanが機能しませんか?