grep文件中搜索文本命令
- 能够接受正则表达式,生成各种格式的输出
- 在stdin中搜索匹配特定模式的文本行
echo -e “this is a word\nnext line” | grep word (-e处理特殊字符,转义字符) - 在文件中搜索匹配特定模式的文本行
grep “pattern” filename - 在多个文件中搜索匹配特定模式的文件
grep “match_text” file1 file2 file3 - 选项–color可以在输出行中着重标记出匹配到的模式
grep --color=auto word filename - grep命令默认使用正则表达式
grep -E “[a-z]+” filename
egrep “[a-z]+” filename - 选项-o可以只输出匹配到的文本
echo this is a line. | egrep -o “[a-z]+.”
输出结果 line - 选项-v可以打印出不匹配match_pattern
grep -v match_pattern file - 选项-c可以统计出匹配模式的行数(仅是行的数量、不是匹配次数的数量)
grep -c “text” filename
输出结果 10 - echo -e “1 2 3 4 5\nhello\n 5 6” | grep -c “[0-9]” | wc -l
输出结果为6
计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。 - -n 可以打印出匹配字符所在行的行号
grep linux -n sample.txt
输出结果 2:linux is fun - 选项-b可以打印出匹配出现行中的偏移,配合选项-o可以打印出匹配所在的字符或字节偏移
echo gnu is not unix | grep -b -o “not”
输出结果 7:not - 选项-l可以列出匹配模式所在的文件
grep -l linux sample1.txt sample2.txt - 递归搜索
sed替换文本命令
awk命令进行高级文本处理
未完待续。。。。。