您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

shell 文本处理命令

一:使用grep、sed、cut、awk文本处理命令解决实际问题。

Bash Shell提供了功能强大的文件处理工具:
sed(流编辑器stream editor)和awk,都可使用正则表达式进行模式匹配。而grep又有助于理解sed和awk。

通配符

:shell通配符

1.1 学习和使用grep

grep是Linux中使用最广泛的命令之一。grep(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集。

本节主要讨论以下内容:

• grep(参数)选项。
• 匹配grep的一般模式。
• 只匹配字母或数字,或两者混用。
• 匹配字符串范围。		

1.1.1 grep 一般格式为:

grep “选项”基本正则表达式“文件”

1.1.2 双引号的使用
在grep命令中输入字符串参数时,最好将其用双引号括起来。例如:“mystring”。这样做有两个原因,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串
例如:“jetplane”,如果不用双引号将其括起来,那么单词plane将被误认为是一个文件,查询结果
将返回“文件不存在”的错误信息。在调用变量时,也应该使用双引号,诸如:grep“$MYVAR”文件名,如果不这样,将没有返回结果。

在调用模式匹配时,应使用单引号。

1.1.3 grep选项

-c          只输出匹配行的计数。
-i          不区分大小写(只适用于单字符)。
-h          查询多文件时不显示文件名。
-l          查询多文件时只输出包含匹配字符的文件名。
-n          显示匹配行及行号。
-s          不显示不存在或无匹配文本的错误信息。
-v          显示不包含匹配文本的所有行。

1.1.4 . grep举例

(1) 多文件查找

[root@localhost sh]# grep "48" *.sh

在这里插入图片描述
或在所有文件中查询单词“ sort it”

[root@localhost sh]# grep "48" *
666.sh:48
666.sh:48
666.sh:48
777.sh:48
777.sh:48
[root@localhost sh]# grep -c "48" 777.sh
2
[root@localhost sh]# 

在这里插入图片描述
grep返回数字2,意义是有2行包含字符串“48”

(2)显示满足匹配模式的所有行行数

[root@localhost sh]# grep -n "48" 777.sh
1:48
2:48

在这里插入图片描述
(3)显示不匹配的行


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进