Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 如何格式化cat表达式的输出_Sorting_Command Line_Format_Cut - Fatal编程技术网

Sorting 如何格式化cat表达式的输出

Sorting 如何格式化cat表达式的输出,sorting,command-line,format,cut,Sorting,Command Line,Format,Cut,我有一个这样格式的文件: event: event1 event: event2 event: event2 event: event3 使用此命令: cat event.txt | cut -d : -f2 |sort |uniq -c |sort -n 我得到这个结果: 1 event1 1 event3 2 event2 我希望有这样的输出: event1 1 event2 2 event3 1 你有什么办法吗?如果你想让你的输出像事件[1]事件[2]…那样按eventID排序,

我有一个这样格式的文件:

event: event1
event: event2
event: event2
event: event3
使用此命令:

cat event.txt |  cut -d : -f2 |sort |uniq -c |sort -n
我得到这个结果:

1 event1
1 event3
2 event2
我希望有这样的输出:

event1 1
event2 2
event3 1

你有什么办法吗?

如果你想让你的输出像
事件[1]事件[2]…
那样按eventID排序,就用fedorqui的解决方案吧


如果希望输出保持输入文件中col2的原始顺序:

awk -F': *' 'NR==FNR{c[$2]++;next}$2 in c{print $2,c[$2];delete c[$2]}' file file
例如:

kent$  cat f
event: event1
event: event2
event: event2
event: event4
event: event4
event: event3

kent$  awk -F': *' 'NR==FNR{c[$2]++;next}$2 in c{print $2,c[$2];delete c[$2]}' f f 
event1 1
event2 2
event4 2
event3 1

是否希望结果遵循输入文件中的顺序?或者希望结果按“eventID/No”排序?