質問: find /aaa/bbb/ccc |grep -v -f test.txt test.txt 内容↓ 45683 2016-01-01 13:30 /aaa/bbb/ccc/ddd/log : : 19846 2016-01-01 14:30 /aaa/bbb/ccc/ggg/up 上記のコマンドはgrepでパターンファイルを読み込みそこに記述されている絶対パスにマッチするディレクトリを除いて表示させているのですが問題が起こってしまいました。 /aaa/bbb/ccc/ddd/log ← ディレクトリ(消したい) /aaa/bbb/ccc/ddd/login.txt ← ファイル(消したくない) /aaa/bbb/ccc/ggg/up ← ディレクトリ /aaa/bbb/ccc/ggg/upload.txt ← ファイル パターンファイルに記述しているのは絶対パスなので、本来消したいのはディレクトリのみなのですが、パターンファイルにファイルの方もマッチしてしまい意図しないものまで消してしまうようなのです。 何か解決策はないでしょうか?例えばディレクトリに対してだけマッチしているかを確かめる方法など...
回答: test.txtの指定時に^$を使えば完全一致にできますよ ``` ^/aaa/bbb/ccc/ddd/log$ ```