如果位置DATA/AAA/INPUT
包含n文件(文件名是随机作业名称),我需要为所有文件创建 tar 文件nDATA/AAA/OUTPUT
具有通用名称格式的位置中的文件。
那么,如果有n文件INPUT
,然后OUTPUT
位置应该有ntar 文件格式:
log1.tar
, log2.tar
, ... , logn.tar
。
FILE_NAME_PREFIX=今天的 EDWETLLogs= date '+%d_%m_%Y'
; count= ls -lrt /DEVL3/EW/EWD1/DATA/AED/INPUT | wc -l
i=1 while [[ $i -le $count ]] 执行 if [ $i -le 9 ];then
tar czvf /DEVL3/EW/EWD1/DATA/AED/OUTPUT/${FILE_NAME_PREFIX}_${today}_0${i}.tar.gz /DEVL3/EW/EWD1/DATA/AED/INPUT
else
tar czvf /DEVL3/EW/EWD1/DATA/AED/OUTPUT/${FILE_NAME_PREFIX}_${today}_${i}.tar.gz /DEVL3/EW/EWD1/DATA/AED/INPUT
fi
((i=i+1))
完毕
我尝试了上面的代码,但它产生的输出是将所有文件压缩到一个 tar 文件中
答案1
$ cd /path/to/DATA/AAA/INPUT
$ for file in *; do tar cf ../OUTPUT/"${file}".tar "${file}"; done