This is the file format I have ABD.123244.trig
, when I try to remove the file in the terminal I used rm -f ABD. ([0-9]).trig
, but when I use the same thru Airflow scheduler, it throwserror unexpected token '('
please help
This command rm -f ABD. ([0-9]).trig
doesn't work while passing it thru Airflow scheduler. it throws error unexpected token '('
CodePudding user response:
Airflow bash operator runs the bash command with:
bash -c "<your bash command>"
To use an extended globbing pattern in bash
, you have to enable the extglob
shell option. You can try:
BashOperator(task_id="bash_task", bash_command="shopt -s extglob\n rm -f ABD. ([0-9]).trig")
CodePudding user response:
The
is not a special character in bash, therefore, your expression (...)
does not make any sense. Neither does .
.
You are thinking regular expressions instead of gobbing patterns.
Try this:
echo ABD.[0-9]*
and the whole command would be:
rm -f ABD.[0-9]*.trig