linux sed、grep、egrep、find常见实践案例

本文提供了多个关于Linux命令的实践案例,包括使用sed进行内容处理,grep和egrep进行日志分析,以及find进行文件查找的操作。涉及的案例有:sed分析日志,grep统计特定服务出现次数,egrep去除特定行,find查找特定条件的文件等。
摘要由CSDN通过智能技术生成

sed练习

先猜后看(不贴图,重在实践)
cat -n /etc/passed | sed '2,5d'     # 将2~5行删除后显示
cat -n /etc/passwd | sed '2a Hello Friends'   # 在第2行后面一行加上"hello friends"字符串 
cat -n /etc/passwd | sed '2,4c 自律者自由'   # 将第2~5行内容替换成指定串 
cat -n /etc/passwd | sed -n '5, 8p'      # 只显示第5~8行 
ip addr | grep 'inet ' | awk -F ' ' 'NR==2{print $2}'    # 获取ip 
sed 's/^[ ]*//g' top.txt   sed 's/^ *//g' top.txt     # 删除每行行首的空格  

sed -e 's/$new/$old/g' top.txt
sed -i '1 i\阿萨' top.txt    # 必须有i\
sed -i '$a\尾部追加' top.txt
sed -i '/pattern/ i "阿萨"' top.txt  # 在匹配行前插入
sed -i '/pattern/ a "阿萨"' top.txt  # 在匹配行尾追加
grep -v ^#  top.txt | sed '/ * $/d' | sed /^$/d   # 删除#开头的行以及空格行、空行
sed -i 's/阿萨姆/八八八八/g' top.txt   # 替换所有的阿萨姆
sed -i '13,15 s/^/# /' top.txt    # 在指定行区间行首加#号
sed -i '13,15 s/# //' top.txt     # 在指定行区间行首删除#号
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
sed -i 's/^max_input_time = 60/max_input_time = 300/g' /etc/php.ini

备注: g表示每一行所有与之匹配的行都会被替换掉, 不加g, 每行只替换第一个

案例:从xxx中复制粘贴后的内容行标识符和空行

:%s/^[0-9][0-9]* //    # 替换行号
sed -i 's/^ * //' top.txt  # 删除行首空格和空行,注意空格

案例: 使用Sed分析指定起始时间段的secure日志

 cat /var/log/secure | sed -n '/15:50:06/, /15:58:12/p'

grep练习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值