文件夹研究任务

文件夹研究任务

我有一个包含 3 个子文件夹的文件夹,每个子文件夹包含 6 个文件。每个子文件夹中有 2 个文件,:NOPM其文件名包含在其中。

我需要创建一个 shell 脚本来检查所有文件夹及其子文件夹。如果有任何带有 的文件名:NOPM,则应将其从名称中删除。如果存在另一个同名文件,则应将其删除,并将每次交互记录到 log.txt 中。

答案1

find /mydirectory -maxdepth 3 -iname *:nomp* -execdir bash -c 'for f; do base=${f##*/}; mv -- "$f" "${f%/*}/${base//:nomp/whateverYouWant}" && echo $f >> /PATH/log.txt; done' _ {} +

顺便说一句,因为我使用了 execdir 你可能不需要使用 base=${f##*/} 而不是 ${base//:nomp.....} 你可以用“.”替换“base”。

相关内容