shell脚本中运行iconv
时间: 2023-07-06 12:38:33 浏览: 148
使用iconv批量改变文件编码的shell脚本
在shell脚本中运行iconv,可以使用以下语法:
```
iconv [选项] -f 源编码格式 -t 目标编码格式 源文件名 > 目标文件名
```
其中,选项、源编码格式、目标编码格式、源文件名和目标文件名都可以是变量或者命令的输出结果。
举个例子,假设我们有一个文件夹`/data`,里面有一些需要转换编码的文件,我们可以写一个脚本`convert.sh`,内容如下:
```
#!/bin/bash
# 源编码格式
FROM_ENCODING="UTF-8"
# 目标编码格式
TO_ENCODING="GBK"
# 转换文件夹
DIR="/data"
# 转换命令
CONVERT_CMD="iconv -f ${FROM_ENCODING} -t ${TO_ENCODING}"
# 遍历文件夹中的所有文件,并转换编码
for file in $(find ${DIR} -type f); do
${CONVERT_CMD} ${file} > ${file}.tmp
mv ${file}.tmp ${file}
done
```
这个脚本会将`/data`文件夹中的所有文件从UTF-8编码转换为GBK编码,并覆盖原文件。你可以根据实际情况修改脚本中的变量和命令。
阅读全文