linux awk获得某一列

简介: 1、打印文件的第一列(域) : awk '{print 1,1 1'(获取test文件的第4行)cat test| awk 'NR==4'或cat test|sed -n '4p'直接获取某一行的数据shell里面...

1、打印文件的第一列(域) : awk '{print 1}' filename 2、打印文件的前两列(域) : awk '{print1,2}' filename 3、打印完第一列,然后打印第二列 : awk '{print1 2}' filename 4、打印文本文件的总行数 : awk 'END{print NR}' filename 5、打印文本第一行 :awk 'NR==1{print}' filename 6、打印文本第二行第一列 :sed -n "2, 1p" filename | awk 'print1'

(获取test文件的第4行)

cat test| awk 'NR==4'或cat test|sed -n '4p'直接获取某一行的数据

shell里面的赋值方法有两种,格式为
1) arg=`(命令)`
2) arg=$(命令)

因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:
1) nlines=(awk 'END{print NR}' filename)
或者
2) nlines=$(awk 'END{print NR}' filename)

awk练习题
wang 4
cui 3
zhao 4
liu 3
liu 3
chang 5
li 2
1 通过第一个域找出字符长度为4的
2 当第二列值大于3时,创建空白文件,文件名为当前行第一个域1 (touch1)
3 将文档中 liu 字符串替换为 hong
4 求第二列的和
5 求第二列的平均值
6 求第二列中的最大值
7 将第一列过滤重复后,列出每一项,每一项的出现次数,每一项的大小总和
1、字符串长度
awk 'length(1)=="4"{print1}'
2、执行系统命令
awk '{if(2>3){system ("touch "1)}}'
3、gsub(/r/,"s",域) 在指定域(默认0)中用s替代r (sed 's///g') awk '{gsub(/liu/,"hong",1);print 0}' a.txt 4、列求和 df -h | awk '{a+=2}END{print a}'
5、列求平均值
df -h | awk '{a+=2}END{print a/NR}' df -h | awk '{a+=2;b++}END{print a,a/b}'
6、列求最大值
df -h | awk 'BEGIN{a=0}{if(2>a) a=2 }END{print a}'
7、将第一列过滤重复列出每一项,每一项的出现次数,每一项的大小总和
awk '{a[1]++;b[1]+=$2}END{for(i in a){print i,a[i],b[i]}}'

目录
相关文章
|
11天前
|
Linux Perl
Linux|从 STDIN 读取 Awk 输入
Linux|从 STDIN 读取 Awk 输入
20 4
|
26天前
|
Linux Perl
Linux技巧|Awk 比较运算符
在 Awk 中,使用比较运算符(如 >, <, ==, != 等)可方便地过滤文本和字符串。本文通过示例展示了如何处理食品购物清单,标记数量小于或等于 20 的商品。 Awk 语法 `expression { actions; }` 用于根据条件执行操作,如在满足条件的行末尾添加特殊标记。例如,`$3 <= 20 { printf "%s\t%s\n", $0,"TRUE" ; }` 会在数量小于或等于 20 的行后添加 "TRUE"。继续探索 Awk 的比较运算符以进行更复杂的文本处理。
25 2
|
1月前
|
搜索推荐 Linux 开发工具
【Linux】深入理解awk命令
【Linux】深入理解awk命令
44 0
|
2月前
|
Linux Perl
百度搜索:蓝易云【Linux常用命令awk】
以上仅是awk命令的一些常见用法,它还有许多更复杂的功能和用法,可以根据需要灵活运用。awk在文本处理和数据分析中非常实用,是Linux系统中的一把利器。
25 2
|
3月前
|
网络协议 关系型数据库 MySQL
Linux awk
Linux awk
29 0
|
3月前
|
监控 Linux BI
linux命令之awk
linux命令之awk
25 4
|
4月前
|
Unix Java Linux
Linux脚本中的字符处理与awk编程|WC统计
Linux脚本中的字符处理与awk编程|WC统计
46 0
|
5月前
|
存储 Linux Shell
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan,awk 就取自这 3 为大师姓的首字母。 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为: [root@localhost ~]# awk [选项] '脚本命令' 文件名
73 1
|
6月前
|
Unix 测试技术 Linux
软件测试|Linux三剑客之awk命令详解
软件测试|Linux三剑客之awk命令详解
64 0
|
1月前
|
存储 监控 Linux
性能工具之linux三剑客awk、grep、sed详解
Linux 三剑客 awk,sed和grep 在性能领域广泛用于性能建模、性能监控及性能分析等方面,也是各大互联网公司测试岗高频面试题,中高端测试人员必备技能之一。
51 1
性能工具之linux三剑客awk、grep、sed详解