文本-grep 和 find

grep 查抄文件内容


find 查找文件名称(不是文件内容查找)

find 目录 文件名

# 查找/etc目录下以.*wd结尾的文件(不是文件内容)
find /etc -regex .*wd

# 查找/etc目录下类型为文件且符合正则表达式的所有文件
find /etc -type f -regex .*wd



(base) [@wooluwalkerdeMacBook-Pro:shell-tmp]$ touch {1..9}.txt
(base) [@wooluwalkerdeMacBook-Pro:shell-tmp]$ ll
total 0
drwxr-xr-x  11 walker  staff   352B  4  6 20:13 .
drwxr-xr-x  12 walker  staff   384B  4  6 20:12 ..
-rw-r--r--   1 walker  staff     0B  4  6 20:13 1.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 2.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 3.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 4.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 5.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 6.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 7.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 8.txt
-rw-r--r--   1 walker  staff     0B  4  6 20:13 9.txt

# 在当前目录找到匹配*txt模式的文件,并且删除
(base) [@wooluwalkerdeMacBook-Pro:shell-tmp]$ find *txt -exec rm -v {} \;
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt



(base) [@wooluwalkerdeMacBook-Pro:shell-tmp]$ cat grep-test
11 22 33 44
aa 55 dd

# 在grep-test文件中查找内容包括aa的行,并且按照 空格 切分,取第一部分
(base) [@wooluwalkerdeMacBook-Pro:shell-tmp]$ grep aa ./grep-test | cut -d " " -f 1
aa


# 在/etc/passwd文件中,按照 分号 切分,找到第七个字段即为shell,并且统计每个shell的个数(仅相邻的shell会合并)
cut -d ":" -f 7 /etc/passwd | uniq -c

cut -d ":" -f 7 /etc/passwd | sort | uniq -c (全局shell统计)

cut -d ":" -f 7 /etc/passwd | sort | uniq -c | sort (全局shell统计并且按照个数倒序排列)



猜你喜欢

转载自www.cnblogs.com/wooluwalker/p/12644164.html
今日推荐