uniq -c 取消重复的行,-c统计出重复的行的次数
sort -nr 按照数值从大到小排序
sort -c 检查文件是否按照顺序排序
sort -k1 按照第一列进行排序
示例:
awk '{print $1}' /var/log/access.log |sort |uniq -c |sort -nr -k1 | head -n 10 查看日志访问最多的IP
tr 替换字符串中的字符
示例:echo aassnns | tr 'a' 'A'
diff命令,对比文件或者目录差异
-r 递归比较子目录中的文件
diff file1 file2
如果一个目录中有上百万或者上千万的小文件,在这个目录无法执行操作且无法打开,常规rm删除会卡死
示例:rsync --delete-before -d /empty/ /tttt/ empty是新建的空目录,tttt是小文件的目录
split切割文件
split -b 50M 文件名 -d -a 2 test_
-b 按照大小拆分
-d 文件后缀是数字而不是字母
-a 数字几表示是几位数字
问题点:如果文件连贯,拆分之后内容可能不连贯
按照行数切割
split -100 文件名 切割后文件名 把文件按照100行一个切割开
cut 可以显示文件内容;合并不同文件到同一个文件;提取不同字段
cut file1 file2 > file3
-f 选取指定字段
-d 选择指定分隔符
cut -f2 -d "," file2.txt 以逗号分隔,输出第二列内容
显示文件指定行数的内容
cat test.txt | head -n 10 显示开头十行
cat test.txt | tail -n 10 显示末尾十行
cat test.txt | head -n +10 第十行开始一直显示到结尾
sed -n '10,20p' test.txt 显示第10-20行内容
grep -r test /root
遍历root目录及子目录下含有test字段的文件,显示出指定的行
-c 统计符合字符串条件的行的数量
-v 反选
-n 显示出字符串所在行的行号
-r和-R遍历目录时,对符号链接有区别,-r不查看符号链接,-R相反
egrep 扩展,可以匹配正则表达式
grep -v ^$ 反选掉空行
grep -o xxx 只输出需要匹配的内容,不在输出整行
echo "abcd.7.9.kk" | grep -o "7.9" --->只输出7.9
grep "xxx" * -R 过滤当前目录及下面所有目录包含xxx的内容