find 文件查找
查找txt和pdf文件
1
|
find . \( -name
"*.txt"
-o -name
"*.pdf"
\) -print
|
查找所有字母开头的文件
1
|
find . -name
"[a-a]*"
|
否定参数->查找所有非txt文本
1
|
find . ! -name
"*.txt"
-print
|
指定搜索深度->打印出当前目录的文件(深度为1)
1
|
find . -maxdepth
1
-type f
|
正则方式查找.txt和pdf
1
2
|
find . -regex
".*\(\.txt|\.pdf\)$"
-iregex: 忽略大小写的正则
|
查找目录下属性为755的文件
1
|
find . -prem
755
|
查找所属主为root的文件
1
|
find -user root
|
寻找大于2k的文件
1
|
find . -type f -size +2k
|
找到文件后续动作
删除当前目录下所有的avi文件
1
|
find . -type f -name
"*.avi"
-
delete
|
执行动作(强大的exec)
1
|
find . -type f -user root -exec chown root {} \;
//将当前目录下的所有权变更为root
|
grep 文本搜索
在file文件中过滤掉字符串'str'所在的行
1
|
grep -v
"str"
file
|
在file文件中查找时间在2017:22:50~2017:22:59所在的行
1
|
grep -E
"2017:22:5[0-9]"
file
|
在file文件中查找不包括360的行
1
|
grep -E
"^[^360]"
file
|
在file文件中查找包括w和t的行
1
|
grep -E
"w*t"
file
|
在file文件中查找大于560小于893的行
1
|
grep -E
"[5-8][6-9][0-3]"
|
在file文件中查找包含两个9的行
1
|
grep -E
"9{2}"
file
|
查找大于两个9的行
1
|
grep -E
"9{2,}"
file
|
查找file文件中的空行
1
|
grep -E
"^$"
file
|
查找包括?的行
1
|
grep
"?"
file
|
查找文件中以w开头的行
1
|
grep -E
"^w"
file
|
查找文件中不是以w开头的行
1
|
grep -E
"^[^w]"
file
|
awk 数据流处理工具
查找出日志文件中的每一列
1
|
awk
'{print $0}'
log.log
|
查找出文件中的第一列和第七列
1
|
awk
'{print %$1 "\t"$7}'
log.log
|
~匹配192.168.10.2的ip地址统计。!~为不匹配
1
|
cat file | awk
'$0 !~ /192.168.10.2/'
| grep
'php'
|wc -|
|
sed 行定位
只打印第二行,不打印其它行的数据
1
|
sed -n
'2'
p file
|
从第一行到第九行的记录
1
|
sed
-n
'1,9'
p
file
|
打印匹配php的行
1
|
sed -n '/php/p file
|
打印从第九行到匹配php的之间所有行
1
|
sed -n
'9,/php/'
p file
|
把第一行和第二行全部删除(非文件删除)
1
|
sed
'1,2'
d file
|
Uniq行定位的使用
打印紧挨的重复行出现的次数
1
|
uniq
-c
file
|
只打印重复的行
1
|
uniq -d file
|
把apache网站的所有访问ip统计出来,并打印统计次数
1
|
awk
'{print $1}'
/
var
/log/httpd/access_log | sort | uniq -c
|
sort排序的使用
把文件喊字母的圣墟进行排序
1
|
sort file
|
把文件按照字母的降序进行排序
1
|
sort
-r
file
|
为进行分割后的第一列来排序
1
|
cat file | sort -t: -k1 -r
|