linux下的find、grep、cut使用

1、find

用于查找文件或者目录

find path options [commad]

【options】:

-size 按文件大小查找

-empty  查找空白文件或目录

-name 按文件名称查找

-iname 按文件名称查找,不区分大小写

-user 按文件属性主查找

-group 按文件属组查找

-mtime 按文件修改时间查找

-type 按文件类型查找(f,d,b,c,l),f表示文件,d表示目录

-a 并且

-o 或者

find 常与管道符,-exec ,xargs进行联合使用

示例

找到/root目录下的txt文件,并打印出来

find /root/ -name ‘*.txt’ -type f | xargs ls - l

找到/root目录下的大于1M的文件

find /root/ -size +1M -a -type -f

find /root/ -size +1M -a -type f

找到/目录下的空文件或目录

find / -empty

找到/目录下的属组为test的文件或目录

find / -group test

查找系统中三天内被修改的文档

find / -mtime -3

查找系统中三天前被修改的文档

find / -mtime +3

查找系统中两天前的当天被修改的文档

find / -mtime 2

2、grep

 用于查找关键词并打印匹配的行

 grep [options] Pattern [file] [commad]

【options】:

-i 忽略大小写

-n 显示行号

-v 反转查找

-w 匹配单词

--color 显示颜色

-A 打印匹配结果之后的行

-B 打印匹配结果之前的行

-C 分别打印匹配结果之间的行

示例

grep -w boot test.text      #匹配含有boot 的行

grep -n ^Y  test.text   #查找以Y开头的行

grep -w -v boot test.txet    #匹配非boot的行

3、cut

cut主要用于按列切分文件,针对CSV文件或者空格分隔的文件(标准日志文件)

cut options file_list  [file|dir] [command]

【file_list 】:

  需要显示的列,列号之间使用逗号分隔,对于非规律的文件,没有使用特定的分隔符的文件:

  N - 从第N个字节,字段或字符开始到结尾;N-M 从第N个字节,到第M个字节;- M 从开始到从第M个字节,字段或字符

【options】:

  -f  指定要提取的字段,-b 代表字节,-c 代表字符

cut -f 2,3 test.txt  得到test.text文件的第2,3列内容
cut -b 2-5 test.txt  得到每列的2-5个字节间的内容
cut -c -4 test.txt 得到每列的前4个字符的内容

-s 可以禁止原样打印,cut 可以从stdin读取输入,制表符默认为分隔符,对于没有使用分隔符的行,该命令会将文件原样打出

cut -f 1 -s test.txt

--complement 显示没有被-f指定的字段

cut  -f 1 --complement test.txt  除了第一列的内容

-d  指定分隔符

head -n 3 /tem/passwd|cut -f 2,3 -d “,”

--output-delimiter  显示各个区间内容,可以使用--output-delimiter 设置分隔符

cut -c1-3,4-7 --output-delimiter “%”  test.txt  得到每列的第1-3和4-7之间的字符,他们之间使用%分隔

 

 

posted @ 2020-07-14 21:28  BackingStar  阅读(384)  评论(0编辑  收藏  举报