看起来很傻......我不知道我做错了什么......
我需要将 .txt 文件编码更改为 utf-8。这里的脚本:
#!/bin/bash
for NOME_ARQ in *.txt do
##1 - verify file encoding and store in CODIFICACAO
CODIFICACAO=$(file --mime-encoding "$NOME_ARQ" | cut -d" " -f2)
##2 - convert to utf-8
iconv -f "$CODIFICACAO" -t utf-8 "$NOME_ARQ" -o temp01.txt
done
为##1尝试了几种方法,但总是得到以下错误:
sc-sini2csv: line 5: sintax error near `token' unexpected `CODIFICACAO=$(file --mime-encoding "$NOME_ARQ" | cut -d" " -f2)'
sc-sini2csv: line 5: `CODIFICACAO=$(file --mime-encoding "$NOME_ARQ" | cut -d" " -f2)'
我们从错误中看到,分配变量 $CODIFICACAO 时会出现问题
据我环顾四周,有两种将 STDOUT 分配给变量的方法:
1-使用反引号:
CODIFICACAO=`file --mime-encoding "$NOME_ARQ" | cut -d" " -f2`
或者
2-使用$():
CODIFICACAO=$(file --mime-encoding "$NOME_ARQ" | cut -d" " -f2)
他们都会给出同样的错误。
正如我所写,这似乎很愚蠢,但我被这个错误困住了......任何地狱将不胜感激!
PS:直接从终端(在 bash 脚本之外)使用 $() 或反引号将起作用....但我需要将它放入 shell 脚本中。
及时:我正在使用带有 bash shell 的 ubuntu
提前致谢 !!!西尔维奥