用Shell处理Excel文件

拿到的数据统计文件常常是Excel,要想在shell里用强大的Linux命令处理,需要先对文件进行转换。

两种方式:将Excel文件另存为.csv或.txt文件。其中又各有不同的数据格式:

经尝试,选择导出文件类型为:UTF-16Unicode Text(.txt)格式。

接下来,还需要对文件进行编码转换:

iconv -f UTF-16 -t UTF-8 src.txt > srcutf8.txt

1
2
3
4
5
6
7
8
9
10
11
$ iconv --help
Usage: iconv [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]
or: iconv -l

Converts text from one encoding to another encoding.

Options controlling the input and output format:
-f ENCODING, --from-code=ENCODING
the encoding of the input
-t ENCODING, --to-code=ENCODING
the encoding of the output

转换后的文件中可能还有^M,那是Windows环境下的回车造成的,也要替换:

替换方式见:http://blog.51cto.com/mrcelite/745576

(^M使用 ctrl+v ctrl+shift+M 输入)

好了,终于可以用shell正常处理了。