2017-09-04 7 views
-2

私のコードでは、誰かがラクダの次のルートを書いています。 feed.inへの入力はcsvファイルです。私はシェルスクリプトが何をしているのかについて頭を浮かべることはできません。 camel-egrep.shシェル - このスクリプトは何をしていますか?

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

内容は次のとおりです。私は{{feed.in}}がディレクトリの名前に評価されていることを前提と

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

あなたの質問は何ですか? – campovski

+0

私の質問は:これらの引数が渡されたときにシェルスクリプトが何をしているかです。 –

+0

あなたの質問は不明です。 'camel-egrep.sh'が実際にどのように呼び出されているか、すなわちどの引数が渡されたか、出力が何であるかを示すために質問を編集するべきです。 –

答えて

0

。 Camelのルートは、ファイルがディレクトリに置かれたときにアクティブになります。ファイルを読み込み、特定の引数を使用してcamel-egrepスクリプトを実行します。 2番目から最後の引数はファイル名で、 ".filtered"が付加されたファイル名です。

Iは、全体的な結果が生成されたファイルが検索パターンAAAAA|...に一致するオリジナルファイルの行で構成され提示された各ファイルのファイルxxxxxx.filteredを作成するであろうことを推測します。

関連する問題