linux awk 排序,使用awk对字段进行排序和排列
我正在尝试学习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对字段进行排序和排列相关推荐
- awk 分隔符_awk 中的字段、记录和变量 | Linux 中国
这个系列的第二篇,我们会学习字段,记录和一些非常有用的 Awk 变量.-- Seth Kenlon Awk 有好几个变种:最早的 awk,是 1977 年 AT&T 贝尔实验室所创.它还有一些 ...
- linux awk语法格式,Awk是什么?一文带运维小白快速掌握Linux Awk用法
原标题:Awk是什么?一文带运维小白快速掌握Linux Awk用法 作者:a8 Awk.sed与grep,俗称Linux下的三剑客,它们之间有很多相似点,但是同样也各有各的特色,相似的地方是它们都可以 ...
- linux文本分析利器awk
转 快速理解linux文本分析利器awk 原文链接 杜亦舒 性能与架构 awk是什么 如果工作中需要操作linux比较多,那么awk是非常值得学习的 awk是一个极其强大的文本分析工具,把文件逐行的读 ...
- linux文本分析工具awk解读
awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.awk把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. ...
- linux命令终极系列awk
AWK man 手册:http://man.linuxde.net/awk AWK编程的内容极多,这里只罗列简单常用的用法,更多请参考 http://www.gnu.org/software/gawk ...
- linux 日志报告生成器,Linux报告生成器工具awk
Linux报告生成器工具awk awk:根据输入的信息格式化后显示出来 1.1.awk基本用法 awk [options] 'script' file1,file2,.... 或 awk [optio ...
- linux 11121端口,Linux文本处理之awk
之前我介绍过sed,cut,tr,grep等等的命令来对文本进行处理,但是有时候发现这些命令并不能完全的满足我们的需求,直到我学习了awk,感觉以前有些比较繁琐的命令可以根据awk轻易解决,这些命令的 ...
- linux三剑客应用到工作中,LINUX 三剑客老大(AWK) 日常工作总结(示例代码)
一.Linux 系统连接状态篇: 1.查看TCP连接状态;netstat -nat |awk '{print $6}'|sort|uniq-c|sort -rn netstat -n | awk '/ ...
- Linux文本三剑客之一——awk详解(1)——awk看这两篇就够啦~PS:文末有练习,来练练手吧
shell编程三剑客 grep --> egrep --> 文本过滤 查询 awk 文本截取 sed 文本的替换和修改 目录 awk awk也可以做小数运算 awk命令简要处理流程 aw ...
最新文章
- 实战:使用 Mask-RCNN 的停车位检测
- Spring框架中的设计模式(二)
- python入门(一):进入python的交互模式、pip的使用和数据类型
- IC/RFID/NFC 关系与区别
- Qt CMake命令参考
- 通过条件判断文本框是否隐藏_如何通过风速来判断高效过滤器是否达到更换要求...
- 解决win10系统下,git Bash闪退的问题
- MapReduce高级编程2
- android 溢出按钮,React-Native封裝Tabbar 實現中間按鈕溢出效果(Android/iOS)
- python数组拼接concat_Python xarray.concat然后xarray.to_netcdf生成巨大的新文件大小
- 管理感悟:正确认识自己的工作
- js word 预览_关于Word打印的2个秘密,90%的人都不知道
- css3动画正弦曲线,css动画之模拟正余弦曲线的实例分享
- 先吃奶油还是先吃蛋糕--推迟满足感
- 【Selenium】Selenium的3种等待方式
- 保存数据时报:Incorrect string value: '\xF0\x9F\x91\x8D' for column 'f_char_name' at row 1
- Hystrix实现熔断降级
- Nvidia TX2 Ubuntu18.04 安装 IntelRealsense L515 realsense SDK 及 Realsense ROS (make各种问题解答,一篇到位版本)
- 魅族路由器极速版刷机_魅族路由器极速版——极速之选
- HTML+CSS练习案例