linux awk命令中如何提取任意列

 

1、测试数据

root@PC1:/home/test2# cat test.txt
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40

 

2、

root@PC1:/home/test2# for i in 1 3 5; do awk -v a=$i '{printf("%s ", $a)} END {printf("\n")}' test.txt >> temp; done  ## 提取1,3,5列
root@PC1:/home/test2# ls
temp  test.txt
root@PC1:/home/test2# cat temp  ## 生成转置文件
01 11 21 31
03 13 23 33
05 15 25 35

 

3、

复制代码
root@PC1:/home/test2# ls
temp  test.txt
root@PC1:/home/test2# for i in `seq $(head -n 1 temp | awk '{print NF}')`; do cut -d " " -f $i temp | awk '{printf("%s ", $0)}END{printf("\n")}' >> result.txt; done
root@PC1:/home/test2# ls
result.txt  temp  test.txt
root@PC1:/home/test2# cat result.txt   ## 提取结果
01 03 05
11 13 15
21 23 25
31 33 35
复制代码

 

posted @   小鲨鱼2018  阅读(218)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-12-31 python中对列表去重复
2020-12-31 python中安装特东顺序遍历字典中的所有键
2020-12-31 python中判断字典中是否包含特定键
2020-12-31 python中批量访问字典中指定键的值
2020-12-31 变量?
2020-12-31 linux 系统中vim编辑器添加自动缩进及注释行高亮
点击右上角即可分享
微信分享提示