grep命令与正则表达式

grep命令介绍

grep命令用于查找文件里符合条件的字符串

grep命令用于查找内容包含指定的范围样式的文件

grep如果发现某文件的内容符合所指定的范文样式,则会把含有范文样式的那一行显示出来

 grep语法

 grep   选项   需要捕获的文字   目标文件

例如从/etc/passwd中查找tcpdump相关的用户信息

grep tcpdump/etc/passwd

 

-A:显示捕获行之后的行数

-B:显示捕获行之前的行数

-C:显示捕获行前后的行数

 -c 显示符合条件的行数

-i 忽略大小写

-n 输出符合条件文件所在行号

-v 不包含关键字的行

grep -v nologin /etc/passwd 查找可以登录的用户

sed与awk

sed介绍

sed参数说明

 

 sed动作

 sed示例

查找行,在文件中查找包含22222的行

cat sed.test | sed -n'22222/p'

 

  在文件中添加第三行,内容为hello

sed -e '2a hello world'sed.test

 删除行,删除2到3行

cat -n sed.test | sed -e '2,3d'

删除包含22222的行

cat sed.test | sed '/22222/d'

替换行,将1-2行替换为hahaha

cat -n sed.test | sed '1,2c hahaha'

 

 查找并替换字符串,将示例文本中hello替换成haha

sed 's\Hello\Haha\g' sed.test

 修改文件本身

sed -i 's\Hello\Haha\g' sed.test

cat sed.test

 awk介绍

awk的使用

awk格式

 命令行格式:

awk【选项参数】'script' var=value file(s)

script组成:pattern{awk操作命令}

pattern:正则表达式;逻辑判断式

awk操作命令:内置函数:print() printf() getine..;

控制指令:if(){...}else{...};while(){..};

awk内嵌函数使用

 awk示例

以:分割,显示/etc/passwd的第一列,即用户名列

cat /etc/passwd | awk -F:'{print $1}'

 显示/etcpasswd的第1列和第7列,用逗号分隔显示,所有行开始前添加列名start1,start7,最后一行添加,end1,end7

cat /etc/passwd | awk -F ':' 'BEGIN{print "start1,start7"}{print $1","$7}END {print "end1,end7"}'

  匹配某段字符

cat /etc/passwd | awk -F : '$1 ~ /00/'

awk的内置变量

显示/etc/passwd的前五行,显示每行的行号、列数,一级该行完整的内容

head -n5 /etc/passwd | awk -F : '{print NR" " NF " " $0}'

 

正则表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值