0
点赞
收藏
分享

微信扫一扫

Linux下grep、cut、sed命令简要说明

承蒙不弃 2021-09-23 阅读 69

1、grep能够接受正则表达式和通配符。


grep match_pattern filename


一个grep命令可以对多个文件进行搜索:grep "match_object" file1 file2 file3


用 - - color 选项可以在输出行中重点标记出匹配到的单词:grep word file - -color=auto


grep 通常将match_pattern视为通配符。如果使用正则表达式,需要添加-E选项,这意味着使用扩展正则表达式,也可以使用默认允许正则表达式的grep命令-----egrep。


grep -E "[a-z]+"  等价于 egrep "[a-z]+"




为了只输出文件中匹配到的文本部分,可以使用选项:-o


echo this is a line. | grep -o -E "[a-z]+\."



要想打印除包含match_pattern的行之外的所有行,可以使用:-v。 选项-v可以将匹配到的结果进行反转。


grep -v match_pattern file




1、递归搜索文件


如果需要在多级目录中对文件进行递归搜索,可以使用: grep “text”  .  -R -n;命令中的“.”,表示指定了当前目录。


2、忽略样式中的大小写


选项-i可以使匹配样式不考虑字符的大小写,例如:


echo hello world | grep -i "HELLO"


3、用grep匹配多个样式


可以命令行参数选项-e来指定多个匹配样式。


grep -e "pattern1" -e "pattern2"




为了指明输入的文件名是以0值字节(\0)作为终止符,我们应该在xargs中使用-0.


grep “test” file* -lZ  | xargs -0 rm 


cut命令用于按列切分文件


cut -d ";" -f 2,3 filename  -d用来指定字段的定界符。


cut命令有一些选项可以将一串字符作为列来显示。


-b表示字节;-c表示字符;-f表示定义字段。


sed命令主要是进行文本替换的。sed可以替换给定文件中的字符串。它可以利用正则表达式进行匹配。


sed 's/pattern/replace_string/'  file  或者  cat file | sed ‘s/pattern/repace_string/’ file


使用-i选项,可以将替换结果应用于原文件。


sed  -i  's/pattern/replace_string/'  file




如果需要替换所有内容,我们需要在命令尾部加上参数g。其方法如下:


sed 's/pattern/replace_string/g'  file  后缀g意味着sed会替换每一处匹配。




sed移除空白行,空白和可以用正则表达式^$匹配。


sed '/^$/d' file



举报

相关推荐

0 条评论