RHCSA-A12.在文件中查找指定的字符串

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCSA-A12.在文件中查找指定的字符串相关的知识,希望对你有一定的参考价值。

红帽RHCE考试上午-RHCSA(RH134)

servera.example.com 任务

12. 查找字符串

任务要求

  • 查找文件/usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串ng 的所有行
  • 并将所有这些行的内容放到文件/root/list 中,/root/list 不得包含空行

完成步骤

  • 考试时/root/list这个文件应该是没有的,可以通过重定向或者touch生成
cat /usr/share/xml/iso-codes/iso_639_3.xml | grep ng > /root/list
cat /root/list # 检查
  • 查找文件/usr/share/rhel.xml 中包含字符串re 的所有行。将所有这些行的副本按原始顺序放在文件/root/files 中。
grep re /usr/share/rhel.xml
grep re /usr/share/rhel.xml > /root/list

考查的知识点

grep文本搜索工具

  • 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行
  • 模式:由正则表达式字符及文本字符所编写的过滤条件

grep [OPTIONS] <查找匹配的内容> [FILE...]

grep常用选项Options

-color=auto 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行,即取反
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file
-w 匹配整个单词
-E 使用ERE,相当于egrep
-F 不支持正则表达式,相当于fgrep
-f file 根据模式文件处理
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接
  • 常规用法过滤关键词
grep root /etc/passwd
grep "USER" /etc/passwd
grep 'USER' /etc/passwd
grep `whoami` /etc/passwd
  • 过滤配置文件非注释和非空行
[root@centos8 ~]#grep -v "^#" /etc/profile | grep -v '^$'
[root@centos8 ~]#grep -v "^#\\|^$" /etc/profile
[root@centos8 ~]#grep -v "^\\(#\\|$\\)" /etc/profile
[root@centos8 ~]#grep -Ev "^(#|$)" /etc/profile
[root@centos8 ~]#egrep -v "^(#|$)" /etc/profile
[root@centos6 ~]#egrep -v '^(#|$)' /etc/httpd/conf/httpd.conf
  • 取两个文件的相同行 其实是以f1中的行为过滤条件到f2中取出行进行过滤

grep -f /data/f1.txt /data/f2.txt

以上是关于RHCSA-A12.在文件中查找指定的字符串的主要内容,如果未能解决你的问题,请参考以下文章

RHCSA-A15.编写Shell脚本查找文件

Python如何实现从txt文件中所有两个特殊字符间的内容进行查找一个指定字符串?

RHCSA-A4.创建指定的用户账户

Centos 查找目录下所有文件中是不是包含指定字符串

centos下查找目录下的所有文件中是不是包含指定字符串

RHCSA-A10.配置用户账户