如何编写bash脚本实现指定文件夹路径批量提取文件内的路径字符串
路径提取工具实现
1. 脚本代码
创建名为tool.sh的文件,写入以下内容:
#!/bin/bash # 校验入参是否合法 if [ $# -ne 1 ]; then echo "使用格式:bash $0 FOLDER-NAME" exit 1 fi TARGET_DIR="$1" # 校验目标文件夹是否存在 if [ ! -d "${TARGET_DIR}" ]; then echo "错误:指定的文件夹不存在,请检查路径后重试" exit 1 fi # 递归提取符合要求的路径、去重后逐行输出 grep -rohE "(/(admin|api|login)|/see\?url=\$\(url\))" "${TARGET_DIR}" | sort -u
2. 使用步骤
- 给脚本添加可执行权限:
chmod +x tool.sh - 执行扫描命令,替换为实际的文件夹路径即可,比如扫描当前目录下的project文件夹:
bash tool.sh ./project
3. 输出效果
执行后会逐行打印所有提取到的路径,示例输出如下:
/login /admin /api /see?url=$(url)
补充说明:如果后续需要匹配其他斜杠开头的路径格式,只需修改
grep命令中的正则规则即可,当前规则已完全覆盖你给出的所有路径格式,且会自动过滤重复路径,不会输出重复结果。
内容的提问来源于stack exchange,提问作者Aryan Kushwaha
相关产品推荐
相关产品推荐

