次の問題が発生しました(質問をするために単純化しました)。次のスキーマファイルがありますpatternfile.txt
。
ALNTPKDHI
CTDDNALAY
CTDDNALAYY
およびルックアップファイルlookup.txt
:
ALNTPKDHI 1
CTDDNALAY 2
CTDDNALAYY 3
次のコマンドを実行します。
$ grep -w -f patternfile.txt lookupfile.txt
次を返します。
ALNTPKDHI 1
CTDDNALAY 2
3番目の項目は一致するものを返す必要がありますが、一致するものは返しません。最後の2つの項目の順序を変更すると、patternfile.txt
3つの項目がすべて返されます。
誰でもこれを説明できますか?
ありがとうございます!
ベストアンサー1
再現できません。
$ printf '%s\n' ALNTPKDHI CTDDNALAY CTDDNALAYY > patterns.txt
$ printf '%s\n' 'ALNTPKDHI 1' 'CTDDNALAY 2' 'CTDDNALAYY 3' > input.txt
$ grep -w -f patterns.txt input.txt
ALNTPKDHI 1
CTDDNALAY 2
CTDDNALAYY 3
パターンや入力に、異常な制御文字やキャリッジリターンなどの空白文字が含まれていることを確認してください。