一、题目要求
查找文件/usr/share/dict/words 中的包含的字符串“atens”,且不能有空行,并且顺序复制/root/lines.
二、解题过程
[root@red user1]# grep atens /usr/share/dict/words | grep -v "^$" > /root/lines
[root@red user1]# wc -l /root/lines
19 /root/lines
[root@red user1]#
三、扩展知识
grep 是 Linux 中一个常用的查找和替换命令,可以查找一个或多个文件中的指定字符串,并返回包含这些字符串的行。在 CentOS 中,grep 命令通常用于在文本文件和日志文件中进行查找。
1、grep 命令常见的参数如下:
-i:忽略大小写。
-v:反选匹配的行。
-n:在输出结果时显示行号。
-r:递归查找所有子目录。
-w:精确匹配整个单词。
-l:显示包含匹配字符串的文件名。
-c:统计包含匹配字符串的行数。
-E:启用扩展正则表达式。
-f:从文件中读取模式,而不是从命令行中读取模式。
-e:使用多个模式进行匹配。
-q:静默模式,不输出任何内容。
2、以下是一些常见的例子:
查找包含指定字符串的文件
grep "search_string" file_name
查找多个文件中包含指定字符串的行
grep "search_string" file_name1 file_name2 file_name3
递归查找目录下包含指定字符串的文件
grep -r "search_string" directory_name
精确匹配整个单词
grep -w "search_string" file_name
统计包含匹配字符串的行数
grep -c "search_string" file_name
从文件中读取模式
grep -f pattern_file file_name
使用多个模式匹配
grep -e "pattern1" -e "pattern2" file_name