cp1252 to utf-8 использует iconv для всех файлов в папке
Мне нужно конвертировать файлы cp1252 в UTF-8 с помощью iconv, и это хорошо работало для одного файла, но когда я пробую несколько файлов, это не работает.
я пытаюсь это
find . -type f -name '*.csv' -print -exec iconv -f cp1252 -t utf-8 {inputFolderPath} -o {outputFolderPath}\
это говорит о том, что
Файл не найден - '*.csv'
1 ответ
Если вы работаете в Linux/UNIX, это не относится. Так как вы использовали cmd
тег, предполагается, что это Microsoft Windows. Если нет, пожалуйста, удалите cmd
тег.
Это может быть неверные параметры командной строки для iconv
,
SET "outputFolderPath=%TEMP%
FOR /F "usebackq tokens=*" %%f IN (`DIR /A:-D "*.csv"`) DO (
iconv -f cp1252 -t utf-8 "%%~ff" -o "%outputFolderPath%\%%~nxf"
)
Если все файлы находятся в одной папке / каталоге, вы можете использовать цикл for и записать файлы результатов в подкаталог. Код для bash:
$ mkdir new
$ for f in *.csv; do iconv -f cp1252 -t utf-8 "$f" > new/"$f"; done
Заметки:
- Некоторые версии iconv не поддерживают параметр -o, но стандартный вывод может быть перенаправлен в файл.
- Заключите имена файлов в двойные кавычки, чтобы избежать проблем с пробелами.