grep cut wc命令详解

1、grep命令 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本
grep命令的用法很多,这里就说几个常用的
grep "your_search_content"your_search_file-[options]


grep "your_search_content"*#只搜索当前目录所有文件里的内容,不含子目录里的内容 grep "your_search_content"*-r#搜索当前目录和子目录所有文件 grep "your_search_content".-r#和上个命令类似 grep "your_search_content"*Tes #搜索包含Tes的文件

需要注意的- r表示在当前目录及其子目录下搜索 ,当options里有r时your_search_file可以为.表示前目录,*则表示当前文件夹里所有内容,不包含子目录
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-L:查询多文件时只输出不包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行,反向选择
-r:搜索当前目录及其子目录
-w:完全匹配,即匹配整个单词
-A?:查找某些字符的内容,并下延伸多少行
-B?:查找某些字符的内容,并上延伸多少行
-C?:查找某些字符的内容,并上和向下各延伸多少行
-?:和-C类似上下各延伸多少行

注:?代表某个具体数字,这几行后面的数字直接影响延伸数量,并以--符号分割搜索行的结果,参数可以结合使用
【grep cut wc命令详解】
grep "jason"test.txt -A1 #在test.txt 中查询jason并下延一行 grep "jason"test.txt-iA1#在test.txt 中查询jason不区分大小写并下延一行,等价于grep "jason"test.txt-A1 -i grep "jason". -rin #在当前目录及其子目录中查询jason不区分大小写,显示文本行号


在这就不一一举例了,-A后接数字后,不能再接其他参数会否则出错如

grep "jason" test.txt -A1i#提示“grep: Invalid argument”


“your_search_content”可以是字符串,也可以是正则表达式,正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。
正则表达式和option一配合,grep命令就强大的不要不要的了,在这就不一一举例,自己平时用到就会知道了,下面说说两个简单实用的命令。

2、cut命令 cut:从一个文本文件或者文本流中提取文本列,有以下三种用法


usage: cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-s] [-d delim] [file ...]


cut -d '分隔字符' -f fields:-d指出特定分隔字符,-f 取出-d分隔的第几段

echo $PATH | cut -f 1 -d ':'#把path的值按:分隔,取出分隔的第一段

可以理解为java中split分隔字符串,返回数组 -f就是取数组中的某个值,只不过下标是1开始的,其中-f除了指定某个数字以外,还支持以下写法

echo $PATH | cut -f 1,3 -d ':'#把path的值按:分隔,取出分隔的第一个和第三个 echo $PATH | cut -f 1-3 -d ':'#把path的值按:分隔,取出分隔的第一个到第三个 echo $PATH | cut -f 2- -d ':'#把path的值按:分隔,取出分隔的第二个到最后一个 echo $PATH | cut -f 1-3,5 -d ':'#把path的值按:分隔,取出第一到第三个和第五个


cut -c list [file ...]:执行截取字符串操作,list支持的写法和-f一样,就不再多举例了

ls -l | cut -c 1,3 #截取流中每行的第一个和第三个 $ ls -l | cut -c 1,3 tt dw


cut -b list [-n] [file ...]:只显示文件中1-10位置的字节,英文环境中和-c选项一样,但国际语言环境中有区别(如中文,字节和字符含义不同)
3、wc命令 统计文件里面有多少单词,多少行,多少字符


usage: wc [-clmw] [file ...]


-l:仅列出行
-w:统计词数
-m:统计字符数
-c:统计字节数 英文环境和-m一样


$ wc /etc/passwd 912495581 /etc/passwd 分别对应是行数,单词数,字节数

可以看出wc 默认是-lwc, wc的命令比较简单使用就上面四个可选参数,具体可以根据你的需求添加,后面有时间再继续整理下其它常用命令。

    推荐阅读