bash:一个接一个地处理一个文件

时间:2017-04-25 17:07:34

标签: linux bash shell

我写了一个脚本,它应该取第一个tar文件,执行script.sh,然后是第二个tar文件,依此类推。 这就是tarball=(`ls -a | cut -d "." -f 1`) mkdir ./$tarball tar -zxvf $tarball.tar -C ./$tarball 的样子:

script.sh

我使用以下命令执行for tarball in ./*.tar; do bash script.sh; done

tarball

但是变量awk的赋值只接受第一个文件并对其进行处理(在上面发布的代码之后有一些newSlice命令将一些输出写入文件)。

如何在获取第一个tar文件之后编写脚本,第二个采用等等?

1 个答案:

答案 0 :(得分:0)

您可以在脚本中执行此操作,或者只需将while循环放入脚本中,并将所需的任何列表输入到脚本中:

ls -1 | cut -d "." -f 1 |
    while read tarball
    do
        mkdir "$tarball"
        tar -zxvf "${tarball}.tar" -C ./"$tarball"
    done