0411笔记

sed

sed的强项是能够替换
sed '/root/'p 文件 打印文件中含有root的行
-n 不打印无关的行
-r 不用使用脱义字符

sed -n ‘/^$/’ /etc/passwd 打印首行到尾行

sed '1’d tsst.txt 删除第一行
sed '1,3’d 1.txt 删除第一到第三行
sed ‘1,2s/ot/to/g’ 1.txt 替换第一二行的ot为to
sed '/oot/'d 1.txt 删掉含有oot字段的行(不改动原文件)
sed 's#ot#to#g" 1.txt 用#做分隔符
sed ‘s/[0-9]//g’ 1.txt 删掉文档中所有的数字
sed ‘s/[a-zA-Z]//g’ 1.txt 删掉文件中的数字
sed ‘s/\(rot\)/\(.)\/\(bash\)/\3\2\1’ 1.txt 调换两个字符串的位置 ,\为转义符。
sed -r ‘s/(rot)/(.*)/(bash)/\3\2\1’ 1.txt 加上-r后就不用转义字符
sed 's/^.
$/123&/’ 1.txt 在每一行前增加123
sed -i ‘s/ot/to/g’ 1.txt 直接修改文件内容

awk

awk是流式编辑器,针对文档中的行操作,一行一行的执行
head -n2 1.txt| awk -F ‘:’ ‘{print $1}’ 打印第一个字段
head -n2 1.txt | awk -F ‘:’ ‘{print$1#$2#$3}’ 自定义#为分隔符
awk -F ‘:’ ‘$1 ~/oo/’ 1.txt 让某个字段去匹配 ,*表匹配
awk -F ‘:’ ‘/root/{$1,$3} /test/ {$1,$3}’ 1.txt 匹配完root,再匹配test
awk -F ‘:’ $3==“0” /1.txt ==就是等于,可理解为精确匹配,加引号会被认为是字符,不加引号会被认为是数字。
awk -F ‘:’ ‘$3>=500’ 1.txt 打印第三段值大于500的行
awk -F ‘:’ $7!="/sbin/nologin"’ 1.txt 打印第七段不匹配这个字段的行
awk -F ‘:’ ‘$3<$4’ 1.txt 比较第三段小于第四段的行
awk ‘{print $0}’ 1.txt 打印整个文档
awk -F ‘:’ ‘{print $NF}’ 1.txt 打印最后一个字段
awk “NR>20” 1.txt 打印行数大于20的行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值