1

私の入力ファイルには次のエントリがあります。

0100000000010001000   1       GWSL7YE02GHT73, 
0010000000000000000   1       GWSL7YE02GU6GK, 
0000000000000000000   1       GWSL7YE02G5W2B, 
0010000000110000000   1       GWSL7YE02I364F, 
0000000000000000000   1       GWSL7YE02F4IOC, Escherichia_coli_O127:H6

5行目など、最後に文字列がある行のみをキャプチャするにはどうすればよいですか。もう1つの注意点は、各行に2つのエスケープシーケンス "\ t""\n"があることです。したがって、1〜5行目では、 "、"の後にエスケープ文字 "\ n"があるとは思わないでください。ただし、実際には、 "\ t""\n"です。私は次のawkコードを持っていました:awk '{if ($0~/[A-Z0-9_]$/) print$NF}'、しかし、これはアルファベット、最後にアンスコアの数のいずれかがあることを前提としています。実際には、名前は任意の特殊文字で終わる可能性があります。テストしたため、アンダースコア「_」を付ける必要がありました。それで、これ以外の方法があります。私は何かを持っていてもいいですかawk '{if ($NF!~/an expression that maps ,\n\t/}'

ありがとう

4

2 に答える 2

0

あなたも試すことができます

awk -F, 'NF>1' file
于 2011-03-09T01:59:04.010 に答える