南强小屋 Design By 杰米

Linux下的操作习惯不像windows一样可以有窗口进行操作,它是有很多不同的命令组成的,本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;
提供的例子和参数都是最常用和最为实用的;
我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;

find 文件查找

查找txt和pdf文件

  find . \( -name "*.txt" -o -name "*.pdf" \) -print

正则方式查找.txt和pdf

  find . -regex  ".*\(\.txt|\.pdf\)___FCKpd___1quot;

-iregex: 忽略大小写的正则

否定参数
查找所有非txt文本

   find . ! -name "*.txt" -print

指定搜索深度
打印出当前目录的文件(深度为1)

  find . -maxdepth 1 -type f  

定制搜索

按类型搜索:

  find . -type d -print  //只列出所有目录

-type f 文件 / l 符号链接

按时间搜索:
-atime 访问时间 (单位是天,分钟单位则是-amin,以下类似)
-mtime 修改时间 (内容被修改)
-ctime 变化时间 (元数据或权限变化)
最近7天被访问过的所有文件:

  find . -atime 7 -type f -print

按大小搜索:
w字 k M G
寻找大于2k的文件

  find . -type f -size +2k

按权限查找:

  find . -type f -perm 644 -print //找具有可执行权限的所有文件