您的位置:首页 > 运维架构 > Shell

shell三大文本操作命令grep、sed、awk

2019-07-12 00:07 387 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41545647/article/details/95042974

grep文件中搜索文本命令

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