oozie distcp 操作中的正则表达式
regexp in oozie distcp action
我正在尝试将所有符合特定条件的文件复制到一个文件夹中
<action name="copy_mta_c">
<distcp xmlns="uri:oozie:distcp-action:0.2">
<arg>${NAME_NODE}${PATH_COMVERSE}${CURRENT_DATE_NO_DASH}_*/*mta.gz</arg>
<arg>${NAME_NODE}${PATH_MTA}/</arg>
</distcp>
<ok to="copy_mta_y"/>
<error to="KILL"/>
</action>
这里${CURRENT_DATE_NO_DASH}_*
中的符号*
代表A或B或C等。它搜索所有文件夹。如果我使用 ${CURRENT_DATE_NO_DASH}_A
它只会搜索 1 个文件夹。我怎样才能让它从所有文件夹中只取出 2 个?我试过 (A|B)
,但这没有用。
我假设这将是一个 bash
扩展,因为您的变量看起来像 bash
个变量。
你可以使用这个:
${CURRENT_DATE_NO_DASH}_[A-C]
或者这样:
${CURRENT_DATE_NO_DASH}_{A,B,C}
我正在尝试将所有符合特定条件的文件复制到一个文件夹中
<action name="copy_mta_c">
<distcp xmlns="uri:oozie:distcp-action:0.2">
<arg>${NAME_NODE}${PATH_COMVERSE}${CURRENT_DATE_NO_DASH}_*/*mta.gz</arg>
<arg>${NAME_NODE}${PATH_MTA}/</arg>
</distcp>
<ok to="copy_mta_y"/>
<error to="KILL"/>
</action>
这里${CURRENT_DATE_NO_DASH}_*
中的符号*
代表A或B或C等。它搜索所有文件夹。如果我使用 ${CURRENT_DATE_NO_DASH}_A
它只会搜索 1 个文件夹。我怎样才能让它从所有文件夹中只取出 2 个?我试过 (A|B)
,但这没有用。
我假设这将是一个 bash
扩展,因为您的变量看起来像 bash
个变量。
你可以使用这个:
${CURRENT_DATE_NO_DASH}_[A-C]
或者这样:
${CURRENT_DATE_NO_DASH}_{A,B,C}