cd /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/INPUT
for file in *;do tar -czf ../OUTPUT/"${file}".tar; done
根据上述代码,输入路径中的文件(例如aedlog
,aaalog
...(文件名))被放置在输出路径中,例如aedlog.tar
,aaalog.tar
...等
我如何更改代码以便将文件以新的名称格式放置在输出路径中EDWfile_01.tar
,EDWfile_02.tar
等等?
答案1
使用一点编程怎么样?:-)当然,你可以用一行来完成它;
,是的,可以用更紧凑的方式来完成它,但重点在于理解,不是吗?
cd /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/INPUT
no=1 ; prefix="../OUTPUT/EDWfile_" ; suffix=".tar"
for file in * ; do
filename=$(printf "%s%02d%s" $prefix $no $suffix)
tar -czf $filename $file
let $((no++))
done