perl输出匹配的当前行以及下一行_LINUX(下)

本文介绍了Perl如何输出匹配的当前行及其下一行,并对比了sed和awk在文本处理中的应用。sed主要用于文本内容替换,awk则更适合统计和格式化输出。文中还详细讲解了sed的多行模式、保持空间以及awk的脚本流程控制、字段与记录、数组操作等概念。
摘要由CSDN通过智能技术生成

fbce5cd7c299e1359ff282453084efc2.png

正则表达式与文本搜索

元字符介绍

. 匹配除换行符外的任意单字符
*匹配任意一个跟在它前面的字符  零次或多次
[] 匹配方括号中的字符类中的任意一个
^匹配开头
$匹配结尾
转义后面的特殊字符

[hH]ello
pass.*
pass.*$
以#开头 :^#
以#结尾 : #$

grep 行检索,输出匹配行:
     根据完整单词查找:grep password anaconda-ks.cfg
     模糊查询:grep pass....$ anaconda-ks.cfg
     查找行中包含 . : grep "." anaconda-ks.cfg

扩展元字符

+ 匹配前面的正则表达式一次或多次
?匹配前面的正则表达式零次或一次
| 匹配它前面或者后面的正则表达式

文件查找命令

find 路径 查找条件 [补充条件]
   查找:find  /etc  -regex  .*wd
   找到并操作:find  *txt  -exec  rm  -v  {}  ;

    找到此文件中包含pass的行并以空格做剪切取第一个字段:
                                                  grep pass /etc/anaconda-ks.cfg | cut -d " " -f 1
    统计shell:
           cut -d ":" -f7 /etc/passwd | sort | uniq -c 
    统计shell 并反向排序:
           cut -d ":" -f7 /etc/passwd | sort | uniq -c | sort -r
 

sed

  1. vim 与 sed 、awk 区别:
  • vim 全文本编辑器,交互式
  • sed 、awk 行编辑器,非交互式

2. sed :一般对文本内容做替换

3. awk : 一般对文本内容进行统计,按需要的格式进行输出

4. sed 替换:将文件以行为单位读取到内存(模式空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值