Bash 如何在脚本中使用括号?

Bash 如何在脚本中使用括号?,bash,scripting,Bash,Scripting,我创建了一个愚蠢的脚本: #!/bin/bash #archivo=0 for i in *.esp.srt do iconv -f=ISO8859-1 -t=UTF-8 "$i" > "$i.srt" done 但是为了正确执行脚本,我必须在之前重命名这些文件。如果调用该文件,例如: “随便”(Español(España)).srt 它不起作用 我已尝试更改脚本中的这一行: 对于我来说*(Español(España)).srt 但很明显,我做错了什么,因为它不起作用 编辑:我

我创建了一个愚蠢的脚本:

#!/bin/bash
#archivo=0
for i in *.esp.srt
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "$i.srt"

done
但是为了正确执行脚本,我必须在之前重命名这些文件。如果调用该文件,例如:

“随便”(Español(España)).srt

它不起作用

我已尝试更改脚本中的这一行: 对于我来说*(Español(España)).srt

但很明显,我做错了什么,因为它不起作用

编辑:我的脚本在文件为*.esp.srt时工作。 但是如果文件是*(Español(España)).srt,则它不起作用

编辑2:现在它可以工作了:

#!/bin/bash
#archivo=0
for i in *" (Español (España)).srt"
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "${i%% "(Español (España)).srt"}.esp.srt"
  rm *" (Español (España)).srt"
done
你可以试试跑步

detox *
以前

请参见

您可以尝试跑步

detox *
以前


请参见以下内容:

mkdir -p converted && \
for i in *.esp.srt *Esp*.srt
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "converted/$i"
done
另外,您真正希望如何转换文件名?您还应该知道,通过代码,您的输出将变成
something.srt.srt
。如果您想将扩展名替换为.utf8.srt之类的内容,请这样做(假设您的文件以.esp.srt结尾):

类似地,您可以为文件添加另一个循环,如
“whatever”。(Español(España)).srt

for i in *'.(Español (España)).srt'
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "${i%%'.(Español (España)).srt'}.utf8.srt"
done

试着这样做:

mkdir -p converted && \
for i in *.esp.srt *Esp*.srt
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "converted/$i"
done
另外,您真正希望如何转换文件名?您还应该知道,通过代码,您的输出将变成
something.srt.srt
。如果您想将扩展名替换为.utf8.srt之类的内容,请这样做(假设您的文件以.esp.srt结尾):

类似地,您可以为文件添加另一个循环,如
“whatever”。(Español(España)).srt

for i in *'.(Español (España)).srt'
do
  iconv -f=ISO8859-1 -t=UTF-8 "$i" > "${i%%'.(Español (España)).srt'}.utf8.srt"
done
编辑:我的脚本在文件为*.esp.srt时工作。但是如果文件是*(Español(España)).srt,则它不起作用

嗯,是的。那是因为这条线

对于*.esp.srt中的i

只查找以
.esp.srt
结尾的东西,而
“无论什么”(Español(España))。srt
不会。如果你想用

对于我来说*(Español(España)).srt

然后你需要解释括号,正如你所暗示的。在其周围放置

编辑:我的脚本在文件为*.esp.srt时工作。但是如果文件是*(Español(España)).srt,则它不起作用

嗯,是的。那是因为这条线

对于*.esp.srt中的i

只查找以
.esp.srt
结尾的东西,而
“无论什么”(Español(España))。srt
不会。如果你想用

对于我来说*(Español(España)).srt


然后你需要解释括号,正如你所暗示的。在其周围放置

错误消息是什么?错误消息是什么?非常感谢!关于引号的提示是我正确运行脚本所需要的!非常感谢你!关于引号的提示是我正确运行脚本所需要的!谢谢这就是我需要的。谢谢!这就是我需要的。