这是我使用的ABD.123244.trig文件格式,当我尝试删除终端中的文件时,我使用了rm -f ABD.+([0-9]).trig,但当我使用相同的thru Airflow调度程序时,它抛出error unexpected token '('请帮帮忙此命令rm -f ABD.+([0-9]).trig在通过气流调度程序时不起作用。它抛出error unexpected token '('
ABD.123244.trig
rm -f ABD.+([0-9]).trig
error unexpected token '('
7gyucuyw1#
Airflow bash操作符使用以下命令运行bash命令:
bash -c "<your bash command>"
要在bash中使用扩展的globbing模式,您必须启用extglob shell选项。您可以尝试:
bash
extglob
BashOperator(task_id="bash_task", bash_command="shopt -s extglob\n rm -f ABD.+([0-9]).trig")
vojdkbi02#
+不是bash中的特殊字符,因此,您的表达式+(...)没有任何意义,.+也没有任何意义。你想的是正则表达式而不是gobbing模式。试试这个:
+
+(...)
.+
echo ABD.[0-9]*
整个命令就是
rm -f ABD.[0-9]*.trig
2条答案
按热度按时间7gyucuyw1#
Airflow bash操作符使用以下命令运行bash命令:
要在
bash
中使用扩展的globbing模式,您必须启用extglob
shell选项。您可以尝试:vojdkbi02#
+
不是bash中的特殊字符,因此,您的表达式+(...)
没有任何意义,.+
也没有任何意义。你想的是正则表达式而不是gobbing模式。
试试这个:
整个命令就是