gpt4 book ai didi

bash - 通配 : Matching files names with a number in a script?

转载 作者:行者123 更新时间:2023-11-29 09:46:51 24 4
gpt4 key购买 nike

我想匹配目录中的所有文件名,如下所示:

h1.txt, h2.txt, h12.txt, h3.txt

假设目录是test/。我有一个名为 test.sh 的脚本,其中包含以下内容:

p=test/h
echo $p+([[:digit:]]).txt

但这给出了一个错误:

./test.sh: line 2: syntax error near unexpected token '(' ./test.sh:

line 2: 'echo $p+([[:digit:]]).txt'

有人能解释一下这是怎么回事吗?这在控制台中工作正常,请参阅 Bash bracket expansion: How to match all files names with a number? .

最佳答案

您只需启用 extglob 即可使 glob 表达式正常工作:

shopt -s extglob

p='test/h'
echo "$p"+([[:digit:]]).txt

输出:

test/h1.txt test/h12.txt test/h2.txt test/h3.txt

关于bash - 通配 : Matching files names with a number in a script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436909/

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