1、查看文件所在目录
pwd
2、显示当前目录下所有内容:
ll,列出来的结果详细,有时间,是否可读写等信息
ls,只列出文件名或目录名
3、查看文件大小
du -sh [filename]
4、统计行数
wc -l [filename]
5、重命名:
mv [修改前] [修改后]
6、查看
①、cat [将文件内容全部打印在控制台上],more [以一页一页的形式显示,更方便阅读]
②、查看前100行
head -n 100 [filename]
②、实时查看、实时查看后100行
tail -f [filename]
tail - 100f [filename]
③、查看后100行
tail -n 100 [filename]
7、匹配:grep “需要匹配的内容”
显示所在行数:grep “需要匹配的内容” -n
8、查看第5行到底20行内容
sed -n '5,20p' [filename]
9、区间查找数据,如查找10:40:00,10:40:01之间的数据:
sed -n "/10:40:00/,/10:40:01/p" [filename]
sed -n "/10:[0-9][0-9]:[0-9][0-9]/,/10:[0-9][0-9]:[0-9][0-9]/p" [filename]
10、清空文件:记得先备份文件
①:清空后文件仍有1K大小的占用的两个命令:
a、echo > [需要清空的文件]
b、echo "" > [需要清空的文件]
②:清空后文件大小为0的三个命令:
a、: > [需要清空的文件]
b、> [需要清空的文件]
c、cat /dev/null > [需要清空的文件]
11、替换:
①:将[空格]替换成[\t]
sed -i "s/ /\\t/g" [filename]
②:将NULL 替换成空字符串(load入数据库是自动转换成null,当数据库对应字段为int类型时)
sed -i "s/NULL/\\\N/g" [filename]
12、实例:各种组合专治变态需求
①、统计第10个字段有哪些值(考虑去重)
more Log.txt | awk -F '\t' '{print $10} | sort -u
②、统计第10个字段的值的数量
more Log.txt | awk -F '\t' '{print $10}' | sort | uniq -c
③、统计第10个字段为32010528的总数
more Log.txt | awk -F '\t' '{if($10=="32010528" ) print $10}' | wc -l
④、统计第10个字段不为32010528的总数
more Log.txt | awk -F '\t' '{if($10!="32010528" ) print $10}' | wc -l
⑤、分组统计。以第二个字段和第10个字段进行分组
awk -F '\t' '{a[$2][$10]=a[$2][$10]+1}END{for (i in a) {for (j in a[i]) print i,j,a[i][j]}}' Log.txt
⑥、获取指定符号中间的内容,以prize文件为例,只需要获取符号为“[]”之间的内容
more prize.txt |cut -d '[' -f2|cut -d ']' -f1
⑦、获取特殊字符串中的内容,只想获取“appopenid”与“status”之间的有效内容
awk -F '\"appopenid\"\"' '{print $2}' prize.txt |awk -F '\",\"status' '{print $1}'