我正在尝试写bash脚本,在这个脚本中,我可以从目录中的所有文件名中获取特定的文本,例如我的文件夹中有文件:
.\file1.txt
.\file2.hex
.\DSConf-11.22.33[4444].pkg
.\file3.cpp我需要做的是从上面的文件名中获取4444个数字。我创建了一个脚本,但它不起作用,我找不到错误:
#!/usr/bin/bash
FILENAME=$(find . -maxdepth 1 -name "DSConf-*.*.*\[*\].pkg")
PATTERN='^DSConf-(\d+).(\d+).(\d+)\[([^)]+)\]'
[[ $FILENAME =~ $PATTERN ]]
echo "${BASH_REMATCH[4]}"发布于 2020-07-15 06:29:48
for f in ./; do echo "$f" | grep -Eo "DSConf-\d+.\d+.\d+\[([^)]+)\]"; done将生成您的输出。
https://stackoverflow.com/questions/62904817
复制相似问题