2

2 つのフィールドを持つ通常のファイルを使用します。1 番目はアカウント名 (スペースあり) で、2 番目は整数です。両方のフィールドは で区切られ\t、すべてのレコードは で区切られてい\nます。私の問題は、最初のフィールド文字列に一致するレコードを削除する必要があることです。以下の私のコード:

awk -v APENOM="$apeynom" -F "\t" ' $1 != APENOM { print $0; } ' $1 > $TEMP_FILE_2

ほとんどのレコードでは機能しますが、最初のレコードでは機能しません。最初のレコードの最初のフィールドと一致することはありませんか?

4

1 に答える 1

0

スクリプトを次のように変更してみてください。

'$1 != APENOM { print $0; next } { print "MISMATCH[", $1, "]" }'

入力が汚い気がします。区切りのタブ文字などの前にスペースがある場合があります。これにより$1、スキップしているときの状態が出力されます。

于 2013-04-25T13:29:42.913 に答える