四剑客 awk上

awk grep sed 混合用法

awk 固定格式 awk ‘{print $NF}’ $NF文件中最后一个 倒数第二个为 N F − 1 还 可 以 在 NF -1 还可以在 NF1NF之前加 各种符号
awk -F : ‘{}’ -F:表示以:分割

awk ‘{print NR $1,$2,$3}’ +文件名 显示前三列以及行号

awk ‘{print NF “\t” $0}’ coins.txt 打印出文件的内容并且显示出每行有多少列 注意 awk 默认是以空格分隔
,每行有空格数+1列

awk ‘$3==1986 {print NF “\t” $0}’ coins.txt 打印出第三列为1986 的行数

awk ‘$31986,$1"gold" {print NF “\t” $0}’ coins.txt 打印出第三列为1986并且第一行为gold的行
,如果不是数值型需要加上双引号“”

awk ‘{print $1,$2}’ 后面不跟文件名 表示由
用户输入然后按照要求打印出第一

,二列默认还是以空格分隔 如果用户输入的列数多余两列则只打印前两列
awk ‘{print $2,$1}’ 和上面一句相反打印 其他同上

awk ‘BEGIN{FS=",";OFS=",’} {print $1,$2}’ 改变系统默认的以空格分隔 使用逗号分隔,
BEGIN为全局变量的定义,FS为内部变量用来定义当前所用的分隔符
FS表示输入分隔符,OFS表示输出分隔符,除了数字都要加双引号
awk ‘{print NR "\t"FILENAME $0}’ coins.txt data.txt awk支持多个文件同时操作
只需要在后面加上文件名即可
,FILENAME表示输出文件名,执行之后会在前文件之后输出
awk ‘{$3=“xxxx”; print NR “\t” FILENAME $0}’ coins.txt data.txt
与上面相比 这句把第三列进行了加密
cat /etc/passwd |awk -F: '$3>=500{print $1 “\t” $7}'打印出passwd中用户UID大于500的用户名和登录shell
cat /etc/passwd |awk -F: '$3>=500 && $7=="/bin/bash" {print $1 “\t” $7}'打印出passwd中用户UID大于500的用户名和登录shell并且是普通用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值