ばかげているようです...何が間違っているのかわかりません....
.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 を変数に割り当てる方法は 2 つあります。
1- バッククォートを使用:
CODIFICACAO=`file --mime-encoding "$NOME_ARQ" | cut -d" " -f2`
また
2- $() を使用:
CODIFICACAO=$(file --mime-encoding "$NOME_ARQ" | cut -d" " -f2)
どちらも同じエラーになります。
私が書いたように、それはばかげているように見えますが、私はこのエラーに固執しています.....どんなヘルも大歓迎です!!!
PS: ターミナル (bash スクリプトの外部) から直接 $() またはバッククォートを使用すると動作しますが、シェル スクリプトで使用する必要があります。
時間内に:私はbashシェルでubuntuを使用しています
前もって感謝します !!!シルビオ