我有多个目录1111,2222,3333,4444,每个目录内的子目录命名为example _apple。我想添加父文件夹名称作为子目录的前缀。
我有的是
1111
_apple
2222
_apple
3333
_apple
我想要的是
1111
1111_apple
2222
2222_apple
3333
3333_apple
请问有没有人可以帮忙?
我尝试了这个,但它只适用于第一个文件,不迭代。我有100多个目录,它只适用于第一个。
for folder in */; do
for sample_num in */; do
cd $sample_num
sample="${sample_num::-1}"
for rename in _apple; do
mv -- "$rename" "{$sample}_{$rename}"
done
cd ..
cd ..
done
2条答案
按热度按时间1rhkuytd1#
你不需要所有的
cd
命令。在目录和子目录部分使用通配符。然后使用参数展开运算符将其拆分以获得父名称和子名称。dsekswqp2#
我看到你把python标签加到你的问题上了。下面是Python的解决方法