ここでは簡単なシナリオで私の問題があります。Linuxで無駄なマッチを使用する正規表現を見つける
いくつかのテストファイルを作成します。
touch /tmp/test.xml
touch /tmp/excludeme.xml
touch /tmp/test.ini
touch /tmp/test.log
私は私のすべてのXMLおよびINIファイルを返す式探している:
[[email protected]] ~> find /tmp -name -prune -o -regex '.*\.\(xml\|ini\)'
/tmp/test.ini
/tmp/test.xml
/tmp/excludeme.xml
を私は今、除外するように、この-regexを変更する方法をしたいですexcludeme.xmlファイルが結果に含まれないようにします。
これは、無駄な正規表現(?=expr)
と否定の一致(?!expr)
を組み合わせて使用することで可能になるはずです。残念ながら、コマンドの形式を正しく取得することはできません。そのため、試行は返されません。私はfindコマンドとして(例えばgrep -v
を通すこと)は、複数のステップにコマンドを打破することはできません
find /tmp -name -prune -o -regex '\(?=.*excludeme\.xml\).*\.\(xml\|ini\)'
:ここに私の試みの一つ(!私は別のエスケープでこれの多くの異なる形を試してみた)でした私たちのツールの他の部分への入力として想定されています。これは、あなたがLinux上で何をしたいん
これは私にとって完璧に動作します、ありがとう! –