gpt4 book ai didi

regex - 在 bash 脚本中使用 ls 命令时进行模式匹配

转载 作者:行者123 更新时间:2023-12-04 05:09:39 29 4
gpt4 key购买 nike

在 sh 脚本中,我试图遍历所有与以下模式匹配的文件abc.123基本上是abc。后面只有数字,数字后面是 .可以是任意长度。
使用
$ shopt -s extglob$ ls abc.+([0-9])
完成这项工作,但在终端上而不是通过脚本。如何仅获取与模式匹配的文件?

最佳答案

如果您使用的是 sh而不是 bash ,并且大概您还希望符合 POSIX,您可以使用:

for f in ./*
do
echo "$f" | grep -Eq '^\./abc.[0-9]+$' && continue
echo "Something with $f here"
done

它可以很好地处理带有空格、引号等的文件名,但可能会匹配某些文件名和其中不应该包含的换行符。

如果您标记了您的问题 bash因为您使用的是 bash,所以只需像您描述的那样使用 extglob。

关于regex - 在 bash 脚本中使用 ls 命令时进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035333/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com