我正在尝试获取目录“KEAX”中的文件夹列表,然后深入研究其中的每一个文件夹。
进入每个文件夹后,我想运行命令:
foreach f(*.tar)
tar -xvf$f
end
运行此命令后,我想退出,然后进入“KEAX”中的下一个文件夹并运行与上述相同的命令。但是,我在运行上述命令时收到错误
答案1
此命令应该可以工作。它以递归方式搜索*.tar
当前目录中的所有文件,然后cd
进入 Bash 子 shell 中的位置,并针对每个结果在那里解压:
find . -iname '*.tar' -exec bash -c 'cd "$(dirname "{}")" ; tar -xvf "$(basename "{}")"' \;