Linux学习笔记-grep,sed,awk(鸟哥12章 老段视频笔记)

grep

grep 关键字 文件

  • . 一个字符

  • 在文件中查找有关键字的行

    grep ‘[Tt].m’ passwd –color
    识别以T和t开头,和m中间有一个字符的单词

常用:

[]可选

^开头

^tom以tom开头

tom $以tom结尾

\<开头 \>结束

{m}m个数 grep 'to\{4\}m' 找到toooom

{x,y}数目为x到y个 to\{1,3\}m t和m中间有1-3个o

sed

sed 's/条件/d' 文件

删除

sed '1,2/d' hosts 显示删除1,2行

sed -i '1,2/d' hosts 直接对文件进行修改

sed '$d' hosts 删除最后一行

  • 添加

    sed '/adm/ixxxxx' hosts 在含有adm的上一行(i)添加xxxxx

    sed '/^adm/axxxxx' hosts 在开头(^)含有adm的下一行(a)添加xxxxx

  • 替换

    sed '/adm/cxxxxx' hosts 含有adm的那一行替换成xxxxx

    sed 's/root/ROOT/g hosts' 文件中所有的root改为 ROOT

    sed -e 's/root/ROOT/g -e 'S/bin/BIN/g' hosts' 多个替换操作 ·

    set -f yy hosts 提前将操作写入yy,使用yy文件对hosts进行修改

awk

找到指定部分重新排版,分行处理

awk -F '条件{操作}' xx -F指明分隔符,缺省位空格

  • awk -F: '{print $0}' 输出每行($0)第一个字段

  • 输出ip ifconfig eth0 |grep 'inet addr'|awk ‘{print $2}’ | awk -F: { print $2 }

  • awk -F: '{print NR, $0 ,NF }' xx 显示行号(NR),并显示每行有几个字段(NF)

  • 条件判断 awk -F: '$1<=3 {print $3}' xx

  • date | awk '{print "year:"$1 "\n"}'

    输出year:2017

  • 设置分隔符

    awk -F: 'BEGIN{OFS="\\t\\t"; ORS="\n\n"}{print \$1 \$2}' xx

    ofs是字段之间分隔符,ORS是每行额分隔符

基础正则表达式

判断语句

diff 文件1 文件2

diff 路径1 路径2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值