2017-09-04 90 views
-2

在我的代碼中有人寫下了駱駝路線。 feed.in的輸入是一個csv文件。我無法理解shell腳本在做什麼。的camel-egrep.shShell - 這個腳本在做什麼?

<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"/> 

內容是:

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

你的問題是什麼? – campovski

+0

我的問題是:那些shell腳本在傳遞參數時做了什麼? –

+0

你的問題不清楚。你應該[編輯]這個問題來說明'camel-egrep.sh'實際上是如何調用的,即傳遞給它的是什麼參數以及輸出是什麼。 –

回答

0

我猜想{{feed.in}}計算結果爲目錄名。將文件放入目錄時,駱駝路線將變爲活動狀態。它將讀取該文件,並用特定的參數執行腳本camel-egrep。倒數第二個參數是文件名,後綴是「.filtered」的文件名。

我猜想,總的結果將是創建用於被呈現的每個文件xxx,其中所生成的文件由在原始文件中的行匹配搜索圖案AAAAA|...其中一個文件xxx.filtered