【发布时间】:2019-06-06 13:53:40
【问题描述】:
我需要在多个用户目录和子目录下的多个文件中找到一个正则表达式字符串。我使用 grep 命令来查找实际数据,但一直在每个用户目录中手动运行它并递归地 grep'ing 字符串。我想从根目录开始,并有一个小脚本为每个用户目录创建一个文件,并将该用户的 grep 输出记录在一个文本文件中。我没有任何运气使用 for 循环自行解决。
For 循环:我真的不知道如何或在哪里放置 grep 命令。
#!/bin/bash
IFS=$'\n'
for dir in $(find /Users/brian/Documents/ -maxdepth 1 -path . -type d);
do
for subdir in $(find "$dir" -mindepth 2 -type d);
do
base_dir=$(basename $dir)
base_subdir=$(basename $subdir)
touch "$base_dir"/"$base_subdir"/"$base_dir"_"$base_subdir".txt
done
done
grep -irnE '<img [^>]*src=\"?http:' /path/to/user/ -s > /path/to/output.txt &
我对 grep 的预期结果工作正常,但我真的不知道如何将 grep 集成到 for 循环中。
【问题讨论】:
-
您能发布到目前为止您尝试过的内容吗?您如何尝试将该 grep 集成到循环中?
-
请分享您的
for loop的样子 -
见上面我的编辑添加for循环@PS。
-
见上面我的编辑添加for循环@danlor
标签: bash shell scripting grep directory-structure