壳管工艺重复

时间:2016-03-15 03:56:15

标签: bash shell sed pipe

我想做这样的事情:

~ cat dump.sh
command 1 | command 2 | command 1 | command 2 | ...(ten times) | command 1 | command2

~ ./dump.sh < demo.log

那么如何修改dump.sh,同时我可以准确指定ncommand 1成对的command 2次来处理demo.log?

1 个答案:

答案 0 :(得分:2)

您可以编写一个简单的递归辅助函数,如下所示:

loop () {
    case $1 in
      0) cat;;
      *) command 1 | command 2 | loop $(($1 - 1)) ;;
    esac
}

一样调用它
loop 3 <demo.log