私はコマンドを見つけるUNIXでUNIXの正規表現を使用する必要があります。Unixの正規表現
検索 "/ホーム/ユーザー/ somePath /" -maxdepth 1! -regex "/ home/user/somePath/someUnwantedPath"! -regex 「/ホーム/ユーザー/ somePath/someMoreUnwantedPath」
これは動作しますが、不要なパスがほんの数よりもあるので、私は単一のものに正規表現を最適化する必要があります。
私はコマンドを見つけるUNIXでUNIXの正規表現を使用する必要があります。Unixの正規表現
検索 "/ホーム/ユーザー/ somePath /" -maxdepth 1! -regex "/ home/user/somePath/someUnwantedPath"! -regex 「/ホーム/ユーザー/ somePath/someMoreUnwantedPath」
これは動作しますが、不要なパスがほんの数よりもあるので、私は単一のものに正規表現を最適化する必要があります。
私はあなたが交互にそれを行うことができると思います。
/home/user/somePath/(someUnwantedPath|someMoreUnwantedPath)
検索 "/ホーム/ユーザー/ somePath /" -maxdepth 1! -regex「/ホーム/ユーザー/ somePath /(someUnwantedPath | someMoreUnwantedPath)」
だけ交代の区切り文字として新しい|
で始まる括弧で囲まれたグループの最後の最後でより多くのパスを追加します。私。 |AnotherUnwantedPath
。
編集は
私は、「Windowsの男」ので、私はUnixのとその慣れていないんだけど、私はBUWでそれを試してみたかった、そしてあなたが正規表現をエスケープする必要が表示されますメタキャラクターだから私は、正しい答えは
/home/user/somePath/\(someUnwantedPath\|someMoreUnwantedPath\)/.*
検索 "/ホーム/ユーザー/ somePath /" -maxdepth 1でなければなりませんね! -regex「/home/user/somePath/\(someUnwantedPath\|someMoreUnwantedPath\)/.*」
あなたはそれをきれいにするために正規表現の代わりにgrep -v -f
を使用することができます。代替(|)演算子が除外されるすべてのファイルをダウンリストでなければならないファイルを除外する多くのUNIX systems.Yourでは動作しません
cat excl_files.txt
/home/user/somePath/someUnwantedPath1
/home/user/somePath/someUnwantedPath2
/home/user/somePath/someUnwantedPath3
..
/home/user/somePath/someUnwantedPathn
find "/home/user/somePath/" -maxdepth 1 | grep -v -f excl_files.txt
と私はsomeUnwantedPathのサブディレクトリをいないたくない場合は(もしあればサブディレクトリを含みます。)含まれていると、どのようにすることができますか? –
不要なパスのすべてのファイル/ディレクトリを無視するように答えを更新しました。単に '/.*'を追加するだけです。 – ClasG