sed awk

填一个,

[root@GeNet1-cmcc ~]# sed -n '/a/{n;p;}' a.txt
b
d

####只取符合 a后面一行内容。


du --max-depth=1 | sort -n|awk '{printf "%7.2fM------>%s\n",$1/1024,$2}'|sed 's/\.*//g'

du --max-depth=1 深度为1,以当前目录为1深度,列出各目录大小。

sort -n  按大小排序


awk '{print "%7.2fm------>%s\n",$1/1024,$2}'   

定义awk 输出格式类似:  000M------>/SUsRTSP


%7.2fM ---->    输出宽为7个浮点数, 其中小数点后面保留2位。直接打印出M。 M 对于print 是直接打印出来,不是--option。

%s\n      输出$2 后回车。

sed ‘s /\.*//g' 将 .* 全部替换成空格



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


echo "jones:Adrian W. Jone/OSD211/555-0123" | sed 's/\/.*//' | sed 's/^\([^:]*\):\(.*\) \([^ ]*\)/\1:\3,\2/'

第一个Sed 将/OSD开始部分赋空,就将前面部分提取出来,

成为jones:Adrian W. Jone


第二个sed 分别提取 这3个部分, 并重新按照 位置组合。

成为jones:Jone, Adrian W.



awk 


内置变量表



属性 说明

 

内置变量表

$0当前记录(作为单个变量)
$1~$n当前记录的第n个字段,字段间由FS分隔
FS输入字段分隔符 默认是空格
NF当前记录中的字段个数,就是有多少列
NR已经读出的记录数,就是行号,从1开始
RS输入的记录他隔符默 认为换行符
OFS输出字段分隔符 默认也是空格
ORS输出的记录分隔符,默认为换行符
ARGC命令行参数个数
ARGV

命令行参数数组

FILENAME当前输入文件的名字
IGNORECASE如果为真,则进行忽略大小写的匹配
ARGIND当前被处理文件的ARGV标志符
CONVFMT数字转换格式 %.6g
ENVIRONUNIX环境变量
ERRNOUNIX系统错误消息
FIELDWIDTHS输入字段宽度的空白分隔字符串
FNR当前记录数
OFMT数字的输出格式 %.6g
RSTART被匹配函数匹配的字符串首
RLENGTH被匹配函数匹配的字符串长度
SUBSEP\034



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值