分类: LINUX
2014-04-14 18:57:01
在使用shell提取windows系统的文件时经常出现^M的问题
^M 其实就是 \r ,也就是说这个文件所使用的回车是 mac 中的。也就是 apple公司生产的操作系统内默认的换行符。 在 windows中默认是 \r\n 在 unix/linux 中默认是 \n 只需要在vi/vim 中输入命令:%s/\r//g或者:%s/[ctrl-v][ctrl-m]//g ====== :%s/^M//g 效果是一样的,注意这里的 ctrl-v 和 ctrl-m 是你的按键,不是直接打字母上去,所以显示出来的是:%s/^M//g
编码如下:
点击(此处)折叠或打开
- #!/bin/bash
- ls *.csv > t.txt
- file=`sed -n '1p' t.txt`
- awk -F "," 'NR > 2{
- printf("\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"\n",$1, $2, $3, $4, $5, $6, $7, $8, $9)
- }' $file > tt.txt
- sed 's/^M//g' tt.txt>import.txt
- bd2start
- db2 "connect to 数据库名 user 数据库 using 密码"
- db2 "import to import.txt of del insert into 数据库表"
- db2 "connect reset"
- rm -f t.txt tt.txt import.txt