shell四剑客- sed awk grep find


前言

要写好一个shell脚本,这几个命令是必须的,他能让你精准的找到文件并修改它


1.sed

sed 's/192.10/192.168/g' test.txt #不加参数预修改
sed -i s/192.10/192.168/g' test.txt #直接修改
sed -i 's/^/ /g' text  #在行首加个空格
sed -i 's/$/ /g' text  #在行末加个空格
sed -i '/gxw/a test007/g' test.txt #在gxw之后添加一行
sed -i '/gxw/i test007/g' test.txt #在gxw之前添加一行
sed -n '/gxw/p' test.txt 打印包含gxw的行
sed -n '1p' test.txt 打印第一行
sed -n '1p,5p' test.txt 打印1到5行
cat number.txt | sed 's/ /\n/g' #把空格换成换行符
cat number.txt | sed 's/ /\n/g' | grep -v "^s"|sort -nr|sed -n '1p;$p'
cat number.txt | grep "45 #匹配包含45的行

2.grep

cat number.txt | grep "45" #匹配包含45的行
cat number.txt | grep -v "45" #匹配不包含45的行
grep "^10" text.txt #匹配以10开头
grep "11#" text.txt #匹配以11结尾
grep "[a-z]" text.txt #匹配包含a-z
grep "^168$" text.txt #匹配168
grep -E "([0-9]{1,3}\.){3}[0-9]" #匹配ip地址
cat test.txt | grep -n "10" #匹配10,并显示行号
egrep "11|gxw" text.txt #匹配11或gxw

3.awk

cat test.txt | awk '{print  $4}' # 打印第4列
cat test.txt | awk -F: '{print $4}' # 以:为分割,打印第4列
cat test.txt | awk '{print "echo "$NF}' #打印最后1列,并加上echo注释

4.find

find  path -name "test.txt"​
find . -name "test.txt" #当前目录查找文件
find . -maxdepth 1 -name "test.txt" #当前目录查找文件和目录(只找1级)
find . -maxdepth 1 -type f -name "test.txt" #当前目录查找文件(只找1级)
find . -maxdepth 1 -type f -name "test.txt" -mtime -1 #当前目录查找一天内的文件(只找1级)
find . -maxdepth 1 -type f -name "test.txt" -exec cp {} /tmp/ #查找文件并复制
find . -size +20M #查找大于20M的文件
find . -mtime +30 -exec rm -rf {} \ 删除当前目录下30天以前的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天骄书虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值