grepの使用量が
grep [OPTION]... PATTERN [FILE]...
あなたのコマンドが
grep -f f1.txt -l -v -E f2.txt f3.txt f4.txt "(\d{3})-\d{3}-\d{3}"
に相当し
grep -l -v -f f1.txt f2.txt f3.txt f4.txt -E "(\d{3})-\d{3}-\d{3}"
に展開されています
"パターンを含むファイルとしてファイルf1.txt
を使用し、ファイルを検索すると、f2.txt
、f3.txt
、f4.txt
および(\d{3})-\d{3}-\d{3}
というファイルが検索されます。どこにでもオプション-l
、-v
と-E
の適用「
をたぶんあなたの代わりに
grep -l -v -E "(\d{3})-\d{3}-\d{3}" *.txt
を意味し、次のように
relevant part of the man pageを読み取ります。?
-f FILE
、--file=FILE
からパターンを取得しますFILE
、1行に1つ。このオプションを複数回使用するか、または-e
(--regexp
)オプションと組み合わせると、指定されたすべてのパターンを検索します。空のファイルにはパターンがないため、何も一致しません。
サイドノート:-E
を使用する場合、リテラルカッコをエスケープする必要があります。あなたは
grep -P '\(\d{3}\)-\d{3}-\d{3}'
または
grep -E '\([[:digit:]]{3}\)-[[:digit:]]{3}-[[:digit:]]{3}'
のいずれかを使用する必要があると思いますので、また、
\d
は、私の知る限りサポートされていない詳細な説明をありがとうございました。私はいくつかのことを学びました。 – CppLearner