たとえば、list.txt です。
Joe 3
Jack 1
Ulysses 6
Fox 2
Cassidy 1
Jones 6
Kevin 7
5
これにより、2番目の列に5つの異なる値があるため、出力を表示する必要があります。
justを使用してこれを行うにはどうすればよいですかsort
cut
wc
uniq
?
sort -k2n
まず、2番目の列を昇順に並べ替えるというアイデアがありますuniq
。
Cassidy 1
Fox 2
Joe 3
Jones 6
Kevin 7
次に、cut -d ' ' -f2
すべての数値を一覧表示し、返される1 2 3 6 7
一意wc -d
の値の数を計算するために使用します5
。
uniq
同じ番号の重複行を削除するには、セクションで何をすべきですか?
これを達成する簡単な方法はありますか?
ベストアンサー1
cut
列2の固有性にのみ興味があるので、次から始めましょう。
cut -d' ' list.txt
結果:
1
2
1
3
6
7
6
一意の値が必要な場合は、uniqがこれを行いますが、ソートされている場合にのみ可能です。ソートするには、-uフラグを使用してソートします。
cut -d' ' -f2 list.txt | sort -u
結果:
1
2
3
6
7
wc
これで、次を使用して出力行数を計算できます。
cut -d' ' -f2 list.txt | sort -u | wc -l
これは以下を提供します。
5
私たちはlist.txtファイルの特定の形式を使用します。人の名前にスペースはありません!