483 字
2 分钟
文件查找与文本搜索速查
这篇用来复制文件查找和文本搜索命令。
推荐优先用 rg
查找文本:
rg "keyword"查找文件名:
rg --files | rg "config"忽略大小写:
rg -i "keyword"显示行号:
rg -n "keyword"只查某类文件:
rg "keyword" -g "*.ts"排除目录:
rg "keyword" -g "!node_modules"find 查找文件
按文件名:
find . -name "*.md"忽略大小写:
find . -iname "*readme*"按目录深度:
find . -maxdepth 2 -type f只找目录:
find . -type d -name "node_modules"按大小:
find . -type f -size +100M按修改时间:
find . -type f -mtime -1grep 搜索文本
递归搜索:
grep -R "keyword" .显示行号:
grep -Rni "keyword" .排除目录:
grep -R "keyword" . --exclude-dir=node_modulessed 常用替换
只输出匹配行附近内容:
sed -n '1,120p' file.txt替换输出,不修改文件:
sed 's/old/new/g' file.txt原地替换:
sed -i 's/old/new/g' file.txtmacOS 上原地替换:
sed -i '' 's/old/new/g' file.txtawk 常用命令
打印第一列:
awk '{print $1}' file.txt按冒号分隔:
awk -F ':' '{print $1}' /etc/passwd打印匹配行:
awk '/keyword/ {print}' file.txtxargs 常用组合
查找并删除日志文件:
find . -name "*.log" -print0 | xargs -0 rm批量 grep:
find . -name "*.md" -print0 | xargs -0 grep -n "keyword"配合 rg 文件列表:
rg --files -g "*.md" | xargs grep -n "keyword"查看大文件
find . -type f -size +100M -print按大小排序:
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:把前一个命令的输出变成后一个命令的参数。
-print0 和 xargs -0:用空字符分隔,能安全处理带空格的文件名。