原文见https://linuxtools-rst.readthedocs.io/
find – find dir [options]
- -regex:使用正则表达式匹配
- -name:使用命令行pattern匹配
- -maxdepth:指定最大搜索深度,1表示仅在当前目录中查找
- -type:f l d,指定文件类型
- -atime, -mtime, ctime:分别是访问、修改、变化时间
- -size:大小,+ -表示大于小于,k M G表示单位
- -perm:权限,如644
- -user:后接用户
- -delete:后接,可以删除找到的文件,等同于
find xxxxx | xargs rm - -exec:后面紧跟命令,命令中的{}会被替换成相应的文件名
grep – grep [options] pattern file
- -o, -v:输出匹配的/不匹配的文本行
- -c:count,输出匹配的次数
- -n:输出匹配行号
- -i:忽略大小写
- -l:只打印文件名
- -e:后接pattern,可以用多个-e匹配多个模式
- -f:后接file
- -r, -R:递归查找。与-R不同的是,-r不解析符号链接。
- 正则表达式参数:-G 普通正则表达式;-E 扩展正则表达式;-P Perl正则表达式;-F 以原字符串匹配
xargs – xargs [options] [command]
- -d:delimiter,它将输出文本划分为若干字段
- -n:指定每行输出的字段数,例如-n 1就是一行一个
- -I {}:后面可接命令,xargs产生的参数会替换{}
- -0:以0为delimiter,同-d 0
sort
- -n:number,按数字排序
- -d:dictionary,按字典序排序
- -r:逆序
- -k N:按第N列排序
uniq
- 默认:消除重复行,例如
cat test.txt | uniq。可以使用POSIX中的字符类,例如[:digit:] - -c:统计各行出现的次数
- -d:找出重复行
tr – 字符串操作
- 替换:
tr oldstr newstr - 删除:-d
cut – 按列切分文本
- -d:delimiter
- -f:取第几行,例如
-f2,4就是第2、4行 - –complement:取补集
paste – 按列拼接文本
paste file1 file2 -d ","
awk
- 迭代每一行:
cat file | awk '{print}'