find,sed,awk,grep常用用法

find

find / -name "*.txt"
find / -name "*.txt" | more # 通过管道分页显示
find / -name "*.txt" -type f/d	# f是文件,d是目录
-mtime +30	# 30天以前的文件
-mtime -1	# 1天以内的文件
find . -name "*.txt" -type f -mtime -1 |xargs rm -rf {} \;
find . -name "*.txt" -type d -mtime -1 -exec cp -r {} /tmp/ \;
# -exec比xargs用途更广,作用都是将前面的输出输入到后面大括号中
-size +1k # 大于1k的文件
-perm # 指定权限的文件
一个普通文件默认是666
一个目录的权限默认是777

sed

sed 's/is/666/g' <文件名>
-i # 改变原文件

awk

awk '{print $1' <文件> # 打印文件第一列,注意必须是单引号
awk '{print $NF}' <文件> # 打印文件最后一列
awk '{print $(NF-1)}' <文件> # 打印倒数第二列
awk -F: '{print $1}' /etc/passwd | head -7 # -F:相当于以:分隔每一行
awk -F: '{print $1, $NF}' /etc/passwd | head -7 # 打印第一列和最后一列

在这里插入图片描述
在这里插入图片描述

awk -F: '{print $1":"$NF}' /etc/passwd | head -7 # 双引号表示添加的意思

在这里插入图片描述

grep

grep "root" /etc/passwd
grep --color "root" /etc/passwd # 添加颜色
grep -n --color "root" /etc/passwd # 显示行号,在所查找文件中的行号
grep -n --color "^root" /etc/passwd # 以root开头
grep -n --clolr "root$" /etc/passwd # 以root结尾
grep -v "#" <文件名> # 将#号去掉,多用于配置文件
grep -v "^$" # 将空行去掉
egrep --color "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" <文件名> # 匹配文件中的IP
egrep --color "([0-9]{1,3\.}){3}[0-9]{1,3}$" <文件名> # 与上面等效
ls | grep -v "x86" | xargs rm -rf # 删除除x86文件夹以外的所有文件夹

发布了212 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43833642/article/details/104504877