Linux命令之awk

mac2022-06-30  105

awk:报告生成器(不修改文本) 行:record 列:field NR:number of record //行数 NF:number of field //列数

**注:**列与列之间以空格为分隔符

例子1;

打印文档第一列:

awk '{print $1}' access_log

例子2:

awk '{print $NF}' access_log

打印最后一列:

例子3:

打印最后一列得到的值减一后的值

awk '{print $NF-1}' access_log

例子4;

打印倒数第二列

awk '{print $(NF-1)}' access_log

例子5:列对齐:

awk '{print $1"\t" $2"\t"$3}' one.txt

awk '{print $1 $2 $3}' one.txt

注:直接连接

awk '{print $1,$2,$3}' one.txt

注:以一个空格分隔 参数F后指明分隔符;

例子6:

显示行数:

awk '{print NR "\t" $0}' one.txt

注:行的计数,$0:所有列 awk默认,把空格当做字符拼接符,逗号则是默认分隔符(空格)

显示列数: 注:打印每一行中的列数

例子7:

显示2012年入职的员工 只打印每行的列数; 只打印每行的行数: 只打印第3行: 只打印列数为4的行

例子8:

如何后面不指明文件名,awk会等待输入:

例子9:

awk ‘BEGIN{FS=","}{prnt $1}'

注:BEGIN表示全局变量,FS表示当前分隔符 awk默认的输入分隔符和输出分隔符分别定义的

awk 'BEGIN{FS="2"}{print $1}' one.txt

解释:FS表示输入分隔符, 解释:OFS表示输出分隔符。 注:如果要使用指定分隔符,后面一定要加逗号。

例子9:

1)

awk '{print NR,$0}' one.txt two.txt

会把two.txt的内容追加到one.txt下方显示。

2) FILENAME:为文件名。

3)

重定向到另外一个文件中。 4)

awk '{print NR,"\t",FILENAME,"\t",$0}' one.txt two.txt awk 'BEGIN{OFS="**"}{print NR,"\t",FILENAME,"\t",$0}' one.txt two.txt

例子10

1) 隐藏某列内容:

awk '{$1="";print $0}' one.txt

例子11:

<与<<的区别

例子12:

1)awk做计算 awk会等待输入,因为没有输入,所以直接回车,awk会出计算结果 按ctrl+c结束。 2)awk计算时包含字符

最新回复(0)