我想做的是:
我在文件夹名档案上有上千个分离的rar档案。文件名0001.part1.rar 0002.part2.rar 0003.part3.rar等。
0001.part1.rar
另外,我将如何将它与cron结合起来?应该只运行一次..。
提取第一组rar文件后,更改为:
file.001
file.002
file.003 等等,我也需要提取。
对步骤6的澄清:
在提取第二组rar后(file.001,file.002等)我想根据文本文件中的名称列表重命名它。
例如,文本文件中的文件列表:
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.发布于 2010-08-29 18:49:02
您可以编写一个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个文件和最终得到的脚本进行一些测试。
https://stackoverflow.com/questions/3596043
复制相似问题