Shell - 这个脚本在做什么?

时间:2017-09-04 11:26:06

标签: bash shell apache-camel

在我的代码中,有人编写了以下骆驼路线。 feed.in的输入是csv文件。我无法理解shell脚本在做什么。

    <route id="route-id-1">
        <from uri="{{feed.in}}" />
        <setHeader headerName="CamelExecCommandArgs">
            <simple>-h \\|AAAAA\\||\\|BBBBB\\||\\|CCCCC\\||\\|DDDD\\||.ssif\\| ${in.header.CamelFileAbsolutePath} ${in.header.CamelFileAbsolutePath}.filtered</simple>
        </setHeader>
        <to uri="ref:execGrep"/>
    </route>

<endpoint id="execGrep" uri="exec:${APP_SCRIPTS}/camel-egrep.sh"/>

camel-egrep.sh的内容是:

#!/bin/bash
egrep ${@:1:$(($#-1))} > ${@: -1}

1 个答案:

答案 0 :(得分:0)

我假设{{feed.in}}评估目录的名称。将文件放入目录时,Camel路由将变为活动状态。它将读取文件,并使用特定参数执行camel-egrep脚本。倒数第二个参数是文件名,文件名是&#34; .filtered&#34;追加。

我猜想总体结果是为每个显示的文件xxx.filtered创建一个文件xxx,其中生成的文件由原始文件中与搜索模式匹配的行组成{ {1}}。