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]}}'

目录
相关文章
|
6月前
|
Linux Perl
Linux|从 STDIN 读取 Awk 输入
Linux|从 STDIN 读取 Awk 输入
47 4
|
6月前
|
Linux Perl
Linux技巧|Awk 比较运算符
在 Awk 中,使用比较运算符(如 >, <, ==, != 等)可方便地过滤文本和字符串。本文通过示例展示了如何处理食品购物清单,标记数量小于或等于 20 的商品。 Awk 语法 `expression { actions; }` 用于根据条件执行操作,如在满足条件的行末尾添加特殊标记。例如,`$3 <= 20 { printf "%s\t%s\n", $0,"TRUE" ; }` 会在数量小于或等于 20 的行后添加 "TRUE"。继续探索 Awk 的比较运算符以进行更复杂的文本处理。
74 2
|
3月前
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
|
1月前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
29 4
|
1月前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
59 2
|
3月前
|
Linux 数据处理 Perl
在Linux中,awk命令的如何使用?
在Linux中,awk命令的如何使用?
|
3月前
|
数据挖掘 Linux Perl
在Linux中,awk和sed命令的作用?
在Linux中,awk和sed命令的作用?
|
3月前
|
Linux BI 数据处理
在Linux中,如何使用awk和sed进行文本处理?
在Linux中,如何使用awk和sed进行文本处理?
|
3月前
|
存储 Unix Linux
|
5月前
|
存储 Linux BI
Linux 三剑客 grep、sed、awk
Linux三剑客`grep`、`sed`和`awk`是强大的文本处理工具。`grep`用正则表达式搜索匹配行;`sed`是流式编辑器,处理文本流而不直接修改原文件;`awk`则用于灵活的文本分析和报告生成。例如,`grep`可查找匹配模式,`sed`可以删除文件内容,而`awk`能提取特定字段。通过组合使用,它们能高效解决复杂文本任务。
69 1
下一篇
无影云桌面