私は次のような状況にあります、
このパスには、次のファイルがあります。
ENTRY/ORDERNUMBER_20181016000057.XML
ENTRY/ORDERNUMBER_20181016000058.XML
ENTRY/ORDERNUMBER_20181016000059.XML
ENTRY/ORDERNUMBER_20181016000157.XML
ENTRY/ORDERNUMBER_20181016000158.XML
ENTRY/ORDERNUMBER_20181016000159.XML
ENTRY/ORDERNUMBER_20181016000257.XML
ENTRY/ORDERNUMBER_20181016000258.XML
ENTRY/ORDERNUMBER_20181016000259.XML
一方、リストには次のファイル名があります(実際にはtxtファイルです)。
ENTRY/ORDERNUMBER_20181016000057.XML
ENTRY/ORDERNUMBER_20181016000058.XML
ENTRY/ORDERNUMBER_20181016000059.XML
ENTRY/ORDERNUMBER_20181016000157.XML
ENTRY/ORDERNUMBER_20181016000158.XML
ENTRY/ORDERNUMBER_20181016000159.XML
したがって、アイデアは、一致しないファイルのみを取得することです。IE:
ENTRY/ORDERNUMBER_20181016000257.XML
ENTRY/ORDERNUMBER_20181016000258.XML
ENTRY/ORDERNUMBER_20181016000259.XML
私は使用しようとしました:
find ENTRY -name "ORDERNUMBER*" | grep -v "ORDERNUMBER*" Exclude.txt
しかし、ファイルを取得できません。
私が何を間違っているのか分かりますか?
宜しくお願いします!
何
grep -v "ORDERNUMBER*" Exclude.txt
Exclude.txt
正規表現に一致しないすべての行を出力しますORDERNUMBER*
。パイプを介した検索からの標準入力は読み取られません。ファイル内のすべての行にはORDERNUMBER
、パターンに一致する文字列が含まれているため、空の結果が得られます。
ファイルをパターンのリストとして扱い、一致するファイルとしてstdinを使用するには、次を使用します。
find ENTRY -name "ORDERNUMBER" 2>>/dev/null | grep -f Exclude.txt -v
@frankが示唆したように。またはdiffを試してください:
find ENTRY -name "ORDERNUMBER" 2>>/dev/null | diff Exclude.txt -
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加