You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Unix uniq -c输出行首的出现次数移至行尾?

没问题,这有几个简单高效的Unix命令行工具方案,帮你把uniq -c输出里的计数从行首移到行尾:

方法1:用awk处理(最直观的字段操作)

awk天生擅长处理字段分割,刚好适配uniq -c的输出格式:

uniq -c your_input_file | awk '{count=$1; $1=""; print substr($0,2), count}'
  • 原理:把第一个字段(计数)存到变量count,然后清空第一个字段,用substr($0,2)去掉字段清空后开头多余的空格,最后打印作者字符串和计数。

方法2:用sed正则替换(简洁的文本匹配)

如果习惯用正则,sed的扩展正则可以快速完成替换:

uniq -c your_input_file | sed -E 's/^([0-9]+) (.*)/\2 \1/'
  • 原理:^([0-9]+)捕获行首的数字(计数),(.*)捕获后面所有内容(作者字符串),然后把两个捕获组调换位置,变成“作者字符串 计数”的格式。

示例效果

比如你的输入行:

4 Aabdel-Wahab S|Ahmad AK

经过上面任意一个命令处理后,会变成:

Aabdel-Wahab S|Ahmad AK 4

内容的提问来源于stack exchange,提问作者Andrej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:15:14