我只想遍历不包含字符串"unicredit“的目录。给定此目录列表(位于/tmp/scripts/bash/test/中):
par_q
swx_i
swx_r
unicreditucispa_ams_b
unicreditucispa_ams_m
unicreditucispa_ber_b我启动了以下一行代码:
for i in /tmp/scripts/bash/test/^((?!unicredit*).)*$; do echo FOUND $i; done并期望得到以下输出:
FOUND par_q
FOUND swx_i
FOUND swx_r但得到的却是这个错误:
-bash: syntax error near unexpected token `('我尝试用\转义一些/所有括号,还尝试用引号将正则表达式括起来,但没有解决问题。
我应该做什么修改才能得到我想要的输出?
谢谢。
发布于 2020-04-19 21:54:06
我建议:
shopt -s extglob # enable extglob
for i in /tmp/scripts/bash/test/!(*unicredit*); do echo "FOUND $i"; donehttps://stackoverflow.com/questions/61305366
复制相似问题