例如:

某备份文件夹backup下,有如下文件夹:

20110306  20110311  20110315  20110319  20110323  20110327  20110331         20110403  20110407  20110411  20110415  20110419  20110423  20110427  20110501  20110505  20110509

20110308  20110312  20110316  20110320  20110324  20110328  20110401         20110404  20110408  20110412  20110416  20110420  20110424  20110428  20110502  20110506  20110510

20110309  20110313  20110317  20110321  20110325  20110329  20110405  20110409  20110413  20110417  20110421  20110425  20110429  20110503  20110507

20110310  20110314  20110318  20110322  20110326  20110330  20110402

 

 

现在是想把这些文件夹各自打成一个以文件名的生成一个tar.gz的包

以前用或者说想到的方法:

for a in `ls 2011*`;do

tar zcvf $a.tar.gz $a

done

利用for循环去做。

 

今天在tone上一个叫 @trends 的哥们,贴出了一招

ls | awk '{ print "tar zcvf "$0".tgz " $0|"/bin/bash" }'

 

 

嘻嘻 学习了

源文档 <http://hi.baidu.com/%C1%F5%BA%A3%B7%E501/blog/item/742ace2efda6e6164c088d1f.html>