grep/egrep:基于文本内容查找
grep -E=egrep
排除隐藏去掉取消不显示注释行井号行和空行
egrep -v "^$|#" /usr/....../httpd.conf
注:^代表开头,$代表结尾。^$代表空行。
查找某个目录下10天前修改过的文件:
find[目录] -mtime +10 m=motify
3天内修改过的文件:
find [目录] -mtime -3
查找目录下的所有文件中是否包含指定字符串:
find . | xargs grep -ri "IBM"
查找目录下的所有文件中是否包含有某个字符串,并且只打印出文件名
find . | xargs grep -ril "IBM"
cut:文本/屏显的切割命令:能接收管道,也能直接操作文本按行处理
默认以制表符作为分隔符
-b 按字节切割(byte)
-c 按字符切割(character)
-f 按字段切割(field)
-d 指定分隔符(输入、输出)
N | 只有第N项 |
N- | 从第N项一直到行尾 |
N-M | 从第N项到第M项(包括M) |
-M | 从一行的开始到第M项 |
- | 从一行的开始到结束的所有项 |
cut和awk的一些区别:
——cut默认不会忽略空格和制表符(全是field字段)
——awk默认把空格、制表符全看作输入分隔符(非field字段)
cut如何输入制表符:先按ctrl+v,再按tab
重定向:
标准输入0 标准输出1 标准错误2
1、标准输出 重定向
>:把标准输出 重定向到新文件
标准错误不适用,会覆盖已有文件
>>:追加符,不覆盖原有文件
tee:类似大于号,但只从管道接收数据
tee -a:类似追加符>>
tee和tee -a都会屏显,大于号、追加符不屏显
总结:tee类似>(输出重定向符)
tee -a类似>>
a意为append——附加、增补
tee和>的区别:重定向时会屏显;从管道接收数据
tee可以同时重定向到多个文件
命令1|tee file.txt|命令2:将命令1的结果既保存到file.txt中,也传递给命令2,并屏显命令2的结果。
2、标准输入重定向:< << tr
< 指定输入文件
<<等待用户输入,需指定一个结束符,常用为EOF或EOD
结合cat使用:cat > file <<END
tr:转换或删除字符
只处理字符,而非单行单列
只显示处理结果,不修改原文件
只从管道接收数据(同tee)
替换字符并显示
重定向中等价的几个命令:
命令 > /dev/null 2>&1
命令 >& /dev/null
命令 &> /dev/null
sort:默认ASCII码排列,从左到右读取字符
-r:倒序排列
-n:按数字排列
-t:指定分隔符,如-t:指定分隔符为冒号
-k:指定列,如-k3 -n代表第3列按数字排序
uniq:去重复行,压缩成一行
-c count:去重复行并统计重复行的数量
wc -l:统计行数
锚定符:与正则的区别:前后不能有其它字符,正则可以
\<字符串\>
\b字符串\b
补充:正则表达式:/正则匹配/
eg:/abc/ /abcc/都符合条件,但/abbc/就不是。
----------------------------------------
head:前几行
head -5表示前5行
tail:最后几行
tail -5表示最后5行
tail -f表示一直刷新最后的