锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

shell grep、awk、sed

时间:2023-06-10 19:07:00 集成电路lm2575hvn

文章目录

        • grep
        • sed
        • awk

参考菜鸟教程:https://www.runoob.com/linux/

grep

grep命令用于查找文件里符合条件的字符串。

参数:

  • -a 或 --text : 不要忽视二进制数据。
  • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合模型风格的列外,还显示行后的内容。
  • -b 或 --byte-offset : 在显示符合样式的行之前,标注行的第一个字符号。
  • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合风格的行,并显示行之前的内容。
  • -c 或 --count : 计算符合样式的列数。
  • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合风格的行外,还显示行前后的内容。
  • -d <动作> 或 --directories=<动作> : 当指定要找到的是目录而不是文件时,必须使用该参数,否则grep指令将返回信息并停止行动。
  • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串作为搜索文件内容的样式。
  • -E 或 --extended-regexp : 使用延伸样式的正则表达式。
  • -f<规则文件> 或 --file=<规则文件> : 指定的规则文件包含一个或多个规则样式grep以每行规则样式查找符合规则条件的文件内容。
  • -F 或 --fixed-regexp : 列表将样式视为固定字符串。
  • -G 或 --basic-regexp : 使用风格作为一种普通的表达方式。
  • -h 或 --no-filename : 在显示符合样式的行之前,不要标明该行的文件名称。
  • -H 或 --with-filename : 在显示符合样式的行之前,表示该行的文件名称。
  • -i 或 --ignore-case : 忽略字符大小写的差异。
  • -l 或 --file-with-matches : 列出符合规定风格的文件名称。
  • -L 或 --files-without-match : 列出不符合指定风格的文件名称。
  • -n 或 --line-number : 在显示符合样式的行之前,标注该行的列号。
  • -o 或 --only-matching : 只显示匹配PATTERN 部分。
  • -q 或 --quiet或--silent : 不显示任何信息。
  • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
  • -s 或 --no-messages : 不要显示错误的信息。
  • -v 或 --invert-match : 显示不包括所有匹配文本的行。
  • -V 或 --version : 显示版本信息。
  • -w 或 --word-regexp : 只显示符合全字符的列。
  • -x --line-regexp : 只显示符合全列的列。
  • -y : 本参数的效果及指定"-i"参数相同。

常用指令:

# 递归搜索并显示行号;自动添加文件名称,可添加-h取消 grep -rn "test" ./* # 查找不包含test并显示行号、文件名称 grep -Hvn "test" test.file # 忽略大小写, 全字匹配,行号显示 grep -iwn "test" test.file # 除了显示匹配行外,还显示每个匹配行的前2行和后1行,并显示行号 grep -n -A1 -B2 "test" test.file # 使用正则 grep -e "^test$" test.file # 统计匹配行数;自动添加文件名称 grep -cr "test" ./* 

sed

Linux sed命令是用脚本处理文本文件。
sed文本文件可以根据脚本的指令进行处理和编辑。
sed主要用于自动编辑一个或多个文件,简化文件的重复操作,编写转换程序等。

参数:

  • -e