一开始还以为要用for才才能做得了,今天仔细研究了一下find命令,只要一行就搞定了。
以下命令实现了对当前目录下的所有文件夹分别执行tar命令。
find . -type d -exec tar -vcf {}.tar {} \;
下面对这句东东解释一下:
- "-type d" -type是find的一个参数 d表示文件夹。也就是说只搜寻当前目录下的文件夹
- "-exec tar -vcf {}.tar {} \;" 该参数表示把搜索出的结果(文件名)给指定的命令进行操作。-exec 后跟的第一个参数应该是一个命令,这里是tar。{}是搜索的结果。另外要注意,命令必须以 \;结束(注意\前的空格)