我正在尝试学习awk,我想做一个特定的任务.我的问题范围与先前发布的问题类似(

Using awk to transpose column to row),但对我的数据不太适用.我一直试图弄清楚为什么,我确定它很简单.

我在制表符分隔表中有大量数据,只有两个字段(如下所示):

1101\t7778

1101\t7755

1101\t8889

1101\t6789

2300\t1220

4000\t2333

4000\t7555

4000\t9000

4000\t1111

当字段匹配时,我想最终将第二个字段附加到行上.期望的输出是:

1101\t7778\t7755\t8889\t6789

2300\t1220

4000\t2333\t7555\t9000\t1111

如果可能的话,我喜欢对命令中的所有部分进行解释,以便我将来能够理解它.提前致谢.

awk ' { list[$1] = list[$1] "\t" $2 }

END { for (i in list) printf "%s%s\n", i, list[i] }' data

第一行添加一个选项卡,第二个字段添加到$1索引的list元素.第二行打印出键和累积的值列表.

样本输出:

1101 7778 7755 8889 6789

4000 2333 7555 9000 1111

2300 1220

如果要对第一列进行排序,可以通过sort -n管道输出.如果你有GNU awk,你也可以调查内置的排序函数:

/usr/gnu/bin/awk ' { list[$1] = list[$1] "\t" $2 }

END { n = asorti(list, indexes);

for (i = 1; i <= n; i++)

printf "%s%s\n", indexes[i], list[indexes[i]]

}' data

排序输出:

1101 7778 7755 8889 6789

2300 1220

4000 2333 7555 9000 1111

linux awk 排序,使用awk对字段进行排序和排列相关推荐

  1. awk 分隔符_awk 中的字段、记录和变量 | Linux 中国

    这个系列的第二篇,我们会学习字段,记录和一些非常有用的 Awk 变量.-- Seth Kenlon Awk 有好几个变种:最早的 awk,是 1977 年 AT&T 贝尔实验室所创.它还有一些 ...

  2. linux awk语法格式,Awk是什么?一文带运维小白快速掌握Linux Awk用法

    原标题:Awk是什么?一文带运维小白快速掌握Linux Awk用法 作者:a8 Awk.sed与grep,俗称Linux下的三剑客,它们之间有很多相似点,但是同样也各有各的特色,相似的地方是它们都可以 ...

  3. linux文本分析利器awk

    转 快速理解linux文本分析利器awk 原文链接 杜亦舒 性能与架构 awk是什么 如果工作中需要操作linux比较多,那么awk是非常值得学习的 awk是一个极其强大的文本分析工具,把文件逐行的读 ...

  4. linux文本分析工具awk解读

    awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.awk把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. ...

  5. linux命令终极系列awk

    AWK man 手册:http://man.linuxde.net/awk AWK编程的内容极多,这里只罗列简单常用的用法,更多请参考 http://www.gnu.org/software/gawk ...

  6. linux 日志报告生成器,Linux报告生成器工具awk

    Linux报告生成器工具awk awk:根据输入的信息格式化后显示出来 1.1.awk基本用法 awk [options] 'script' file1,file2,.... 或 awk [optio ...

  7. linux 11121端口,Linux文本处理之awk

    之前我介绍过sed,cut,tr,grep等等的命令来对文本进行处理,但是有时候发现这些命令并不能完全的满足我们的需求,直到我学习了awk,感觉以前有些比较繁琐的命令可以根据awk轻易解决,这些命令的 ...

  8. linux三剑客应用到工作中,LINUX 三剑客老大(AWK) 日常工作总结(示例代码)

    一.Linux 系统连接状态篇: 1.查看TCP连接状态;netstat -nat |awk '{print $6}'|sort|uniq-c|sort -rn netstat -n | awk '/ ...

  9. Linux文本三剑客之一——awk详解(1)——awk看这两篇就够啦~PS:文末有练习,来练练手吧

    shell编程三剑客 grep --> egrep --> 文本过滤 查询 awk 文本截取 sed  文本的替换和修改 目录 awk awk也可以做小数运算 awk命令简要处理流程 aw ...

最新文章

  1. 实战:使用 Mask-RCNN 的停车位检测
  2. Spring框架中的设计模式(二)
  3. python入门(一):进入python的交互模式、pip的使用和数据类型
  4. IC/RFID/NFC 关系与区别
  5. Qt CMake命令参考
  6. 通过条件判断文本框是否隐藏_如何通过风速来判断高效过滤器是否达到更换要求...
  7. 解决win10系统下,git Bash闪退的问题
  8. MapReduce高级编程2
  9. android 溢出按钮,React-Native封裝Tabbar 實現中間按鈕溢出效果(Android/iOS)
  10. python数组拼接concat_Python xarray.concat然后xarray.to_netcdf生成巨大的新文件大小
  11. 管理感悟:正确认识自己的工作
  12. js word 预览_关于Word打印的2个秘密,90%的人都不知道
  13. css3动画正弦曲线,css动画之模拟正余弦曲线的实例分享
  14. 先吃奶油还是先吃蛋糕--推迟满足感
  15. 【Selenium】Selenium的3种等待方式
  16. 保存数据时报:Incorrect string value: '\xF0\x9F\x91\x8D' for column 'f_char_name' at row 1
  17. Hystrix实现熔断降级
  18. Nvidia TX2 Ubuntu18.04 安装 IntelRealsense L515 realsense SDK 及 Realsense ROS (make各种问题解答,一篇到位版本)
  19. 魅族路由器极速版刷机_魅族路由器极速版——极速之选
  20. HTML+CSS练习案例

热门文章

  1. html桌面天干地支,天干地支
  2. 点云bin格式和pcd格式相互转化
  3. 【微服务】服务之间的调用方式
  4. 响应式编程(一)什么是响应式编程
  5. codevs-1033
  6. python快一年了,python获取一年所有的日期
  7. centos下tomcat通过keytool配置ssl服务器端证书及客户端证书
  8. mfc-7360扫描时无法检查连接计算机,mfc7360怎么扫描 mfc7360扫描键无反映解决办法...
  9. 谈谈盲盒小程序开发的核心功能,以及盲盒小程序未来的市场
  10. unity3d射箭模拟小游戏