Shell常用的文本处理命令总结

awk:

awk ‘print{$1,$2}’ grade.txt             打印单独记录

awk ‘BEGIN print{“Name         Belt/n-------------------------------”} print{$1”/t”$4} END {print “end-of-report”}’ grade.txt          打印报告头尾

awk ‘$4 ~ /48/ {print $0}’ grade.txt                   匹配

awk ‘$4 == “48” {print $0}’ grade.txt      精确匹配

awk ‘$4 !~ /48/ {print $0}’ grade.txt        不匹配

awk ‘{if ($3 < $4) print $1}’ grade.txt       比较

awk ‘/[Gg]reen/’ grade.txt                         匹配包含Greengreen的行

awk ‘$1 ~ /^…a/’ grade.txt                        第一列中的第四个字符为a

awk ‘$1 ~ /(Green | Blue)/’ grade.txt               第一列是GreenBlue的行

awk ‘/^48/’ grade.txt                                  48开头的行

awk ‘{if ($1 == “hello”) $6 = $6-1; print $1,$6}’ grade.txt        修改域值

awk ‘tot += $6; END {print “Totle Number is : ”tot}’ grade.txt       统计

ls -l | awk ‘$1 ~ /^[^d]/ {print $9”/t”$5} {tot += $5} END {print “totle size is : ”tot” KB”}’  打印文件名及其长度,并统计总长度

awk –F”:” ‘{OFS=”-”} {print NR,$1,$2,$3}’ grade.txt       输出分隔符,行号

===============================================================

sed:

sed –n `1-3p` quote.txt             打印13

sed –n `/The/ p` quote.txt        只显示匹配The的行

sed –n `4, /The/ p` quote.txt   第四行匹配

sed –n `$p` quote.txt                 最后一行

sed –e `/music/=` quote.txt              打印匹配的行号

echo “Mr Willam” | sed `s/Mr /& Bruce/g`              追加Mr Bruce Willam

echo “file” | sed `s/$/.doc/g`                              增加扩展名file.doc

sed `s/old/new/` filename quote.txt                 替换第一个

sed `s/old/new/4` quote.txt                       替换第四个

sed `s//(.*/)old//1new/` quote.txt           替换最后一个

sed `/old1/s/old2/new/g`         quote.txt          将出现old1的行中old2全部替换为new

sed `/old1/!s/old2/new/g` quote.txt       除了old1的行都替换

sed `1,6 s/old/new/` quote.txt                  替换16行的第一个old

sed –n `/word/ !p` filename              显示文件中不带有word的行

sed `1,6 d` filename                   删除16

sed `/word/ !d` filename          删除除word的行

sed G filename         每一行增加空行

sed `/^$/d;G` filename    删除原有的空行,增加空行Sort:

sort –t: -r video.txt        逆序

sort –t: +3n video.txt     对第四个列按数值排序

sort –t: +1.2 video.txt    按第二列的第三个字符排序

sort –t: -k4 video.txt      第四个列

sort –t: -u video.txt        去除重复行

sort –t: -k4 –k1 video.txt              先以第四列,再以第一列

sort –t: +0 -2 +3 video.txt     先以第0域,忽略第二域(第三列),再以第三域

sort –t: -m v1.txt v2.txt         合并

===============================================================

uniq:

uniq –c myfile.txt         显示重复的数目

uniq –d myfile.txt         显示重复出现的行

uniq –n2 myfile.txt       只测试第二列

===============================================================

join:

join –j1 4 –j2 2 peers peers2  连接peers4,匹配peers22

===============================================================

cut:

cut –d: -f1,3 pers    :分割的第1,3

===============================================================

paste:

paste –d: pas1 pas2        :为分割粘贴为两列

===============================================================

split:

split -2 big.txt        按每两行进行分割

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值