这就是我想要做的事情:
我在文件夹名称Archives上有数千个拆分rar存档。 文件名0001.part1.rar 0002.part2.rar 0003.part3.rar等。
另外我如何将它与cron合并? 这应该只运行一次......
提取第一组rar的文件后,改为:
file.001
file.002
file.003
等。我需要提取它。
第6步澄清
提取第二组rar后(file.001,file.002等) 我想根据文本文件中的名称列表重命名它。
e.g。文本文件中的文件列表:
0001 - GB Funds.DAT
0002 - US Bonds.DAT
0003 - SG Securities.DAT
0004 - LU Credits.DAT
第7步澄清
After renaming the file I want to move it on a new folder called "Done"
第9步澄清
Go back to the main folder with all the other archives
and continue extracting the next set of archives and
do the same steps from 1 to 8.
答案 0 :(得分:0)
您可以编写包含以下内容的shell脚本:
# foo.sh
set -e
set -u
for i in `find -max-depth 1 -type f -name '*.rar' | sed 's/\.part*\.rar$//' | sort -u`; do
mkdir $i
mv $i.part*rar $i
cd $i
unrar x $i.part1.rar
DST=`grep $i ../rename.txt | sed 's/^[0-9]\+ - //'`
mv $i "$DST"
# and so on, rar it together again, move it done directory etc.
cd ..
done
然后通过:
运行它bash foo.sh
你必须澄清6./8./9。
我不知道你为什么要通过cron运行它,因为你只想运行一次。 at 旨在运行一次性作业,或在屏幕会话中运行。
我建议您在开始整个工作之前,使用您收藏的1-3个文件和最终的脚本进行一些测试。