[user@notebook ~]$ printf '1\n5\n3\n3\n4\n2\nA\nB\na\n'
1
5
3
3
4
2
A
B
a
[user@notebook ~]$
[user@notebook ~]$ printf '1\n5\n3\n3\n4\n2\nA\nB\na\n' | awk '!seen[$0]++'
1
5
3
4
2
A
B
a
[user@notebook ~]$
[user@notebook ~]$ printf '1\n5\n3\n3\n4\n2\nA\nB\na\n' | awk 'BEGIN{IGNORECASE=1} !seen[$0]++'
1
5
3
4
2
A
B
a
[user@notebook ~]$
尋ねる:このイベントをどのように無視できますか?したがって、「A」または「a」のみが残ります。
ベストアンサー1
printf '1\n5\n3\n3\n4\n2\nA\nB\na\n' | awk '!seen[tolower($0)]++'
あなたが探している出力を生成します。
awk
マニュアルページから:
IGNORECASEは、すべての正規表現および文字列操作の大文字と小文字の区別を制御します。 [...]注:配列添字は影響を受けません。
そのため、使用してもIGNORECASE
効果はありません。