483 字
2 分钟
文件查找与文本搜索速查

这篇用来复制文件查找和文本搜索命令。

推荐优先用 rg#

查找文本:

Terminal window
rg "keyword"

查找文件名:

Terminal window
rg --files | rg "config"

忽略大小写:

Terminal window
rg -i "keyword"

显示行号:

Terminal window
rg -n "keyword"

只查某类文件:

Terminal window
rg "keyword" -g "*.ts"

排除目录:

Terminal window
rg "keyword" -g "!node_modules"

find 查找文件#

按文件名:

Terminal window
find . -name "*.md"

忽略大小写:

Terminal window
find . -iname "*readme*"

按目录深度:

Terminal window
find . -maxdepth 2 -type f

只找目录:

Terminal window
find . -type d -name "node_modules"

按大小:

Terminal window
find . -type f -size +100M

按修改时间:

Terminal window
find . -type f -mtime -1

grep 搜索文本#

递归搜索:

Terminal window
grep -R "keyword" .

显示行号:

Terminal window
grep -Rni "keyword" .

排除目录:

Terminal window
grep -R "keyword" . --exclude-dir=node_modules

sed 常用替换#

只输出匹配行附近内容:

Terminal window
sed -n '1,120p' file.txt

替换输出,不修改文件:

Terminal window
sed 's/old/new/g' file.txt

原地替换:

Terminal window
sed -i 's/old/new/g' file.txt

macOS 上原地替换:

Terminal window
sed -i '' 's/old/new/g' file.txt

awk 常用命令#

打印第一列:

Terminal window
awk '{print $1}' file.txt

按冒号分隔:

Terminal window
awk -F ':' '{print $1}' /etc/passwd

打印匹配行:

Terminal window
awk '/keyword/ {print}' file.txt

xargs 常用组合#

查找并删除日志文件:

Terminal window
find . -name "*.log" -print0 | xargs -0 rm

批量 grep:

Terminal window
find . -name "*.md" -print0 | xargs -0 grep -n "keyword"

配合 rg 文件列表:

Terminal window
rg --files -g "*.md" | xargs grep -n "keyword"

查看大文件#

Terminal window
find . -type f -size +100M -print

按大小排序:

Terminal window
find . -type f -printf "%s %p\n" | sort -n | tail

常用参数解释#

rg:ripgrep,速度快,默认尊重 .gitignore

rg --files:列出文件。

-g "*.ts":只包含某类路径。

-g "!node_modules":排除路径。

find -name:按名称匹配,区分大小写。

find -iname:按名称匹配,不区分大小写。

-type f:只找文件。

-type d:只找目录。

-maxdepth:限制搜索深度。

grep -R:递归搜索。

grep -n:显示行号。

sed -n:只输出指定内容。

sed -i:原地修改文件。

awk -F:指定字段分隔符。

xargs:把前一个命令的输出变成后一个命令的参数。

-print0xargs -0:用空字符分隔,能安全处理带空格的文件名。

文件查找与文本搜索速查
https://r-gc.github.io/posts/notes/files/file-search-text-processing/
作者
RGC
发布于
2026-05-20
许可协议
CC BY-NC-SA 4.0