我有一个充满名称为 template 的文件的目录
xxx[0-9][0-9][0-9[0-9]ss(wrx-mmm).zip
zip 文件包含一个文件yrq000.dat
,我不想在文件解压缩时覆盖它们。
我正在创建一个处理脚本,但我想将该通用文件命名为与其源 zip 关联的名称,并且我正在检查该方法:
for f in $(ls xxx*)
do
uniquename="${f%%(wrx.*zip}"
done
我不知道如何从字符串中去掉左括号。
我这样做的 bash 字符串操作可能吗?也就是说,它不起作用。我需要添加或删除什么才能使其正常工作?
答案1
尝试从图案中删除点,即:
for f in xxx*;
do
uniquename="${f%%(wrx*zip}";
echo "${uniquename}";
done
它获取名称为 形式的文件xxx[0-9][0-9][0-9[0-9]ss(wrx-mmm).zip
并将它们转换为 形式的字符串xxx[0-9][0-9][0-9[0-9]ss
。这就是你想要实现的目标吗?