我正在尝试将符合特定条件的所有文件复制到文件夹中

  <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个filder。如何使它只占所有文件夹的2个?我尝试做(A|B),但这没有用。

最佳答案

我假设这将是bash扩展,因为您的变量看起来像bash变量。

您可以使用此:

${CURRENT_DATE_NO_DASH}_[A-C]

或这个:
${CURRENT_DATE_NO_DASH}_{A,B,C}

关于hadoop - Oozie distcp操作中的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44501444/

10-10 04:28