查找名称带有前缀的目录

查找名称带有前缀的目录

我有一个大目录,其中包含许多子目录,其名称以 13xxx、10xxx、11xxx 等开头。这些目录包含名为 my_file.txt 的文本文件。现在的问题是,我只想更改目录 13xxx 和 11xxx 中的文件,而不想触碰 10xxx 目录中的文件。我尝试使用以下命令搜索目录:

[ -d "13*"] && ..
[ -d "13"*] && ..

但似乎这样不行。有人能提供一段解决这个谜题的小代码吗?

答案1

您可以使用 for 循环和通配符,例如:

for d in 1[13]*; do
    do_something "$d/my_file.txt";
done

或者

for f in 1[13]*/my_file.txt; do
    do_something "$f";
done

答案2

所以答案是:

for d in 11*/; do
    echo "#Text to be added" >> "$d"/my_file.txt;
done
for d in 13*/; do
    echo "#Text to be added" >> "$d"/my_file.txt;
done

相关内容