linux 怎么去除文件中的乱码
原来我是在unix下使用一个.sed的文件去去除文件中的乱码的代码如下:sed-e's/[^\!-~]//g/|/wIF_Modify1.txt'${1}sed-e's/...
原来我是在unix下使用一个.sed的文件去去除文件中的乱码的
代码如下:
sed -e '
s/[^\!-~ ]//g
/|/w IF_Modify1.txt
' ${1}
sed -e '
s/\\|/\\ |/g
/|/w IF_Modify.txt
' IF_Modify1.txt
rm -f IF_Modify1.txt
mv -f IF_Modify.txt ${1}
现在我要做服务器迁移、把unix换成linux. 如果使用这个文件、会把文件直接变成一个空文件。请问linux下这个命令要怎么写呢?
附一段乱码文件
JI0015|PT.HASTA BERSAMA PRIMAっっ?JAYA||3201110312570002|ATENG|KP.PABUARAN|RT. 003 RW. 005|PABUARAN|GUNUNG SINDUR|BGR1|JAWA BARAT|16340||081328516728||19571203|57|L||L||C|SMU|3|Rp1.000.001 - Rp1.500.000|1|Credit|||||1DY200|010B|MH31DY002DJ135075|1DY-135104|MOPED4|JUPITER Z1 CW FI|BR|BIRU|01|2013|20140228|||||||||||||||||||||0|ADIRA||||||||||||||0|
JJ0016|MEKAR MOTOR||3271035501820003|SITI SOッッsLIHAT|TEGAL MANGGA|RT.003/007|TEGALLEGA|KOTA BOGOR TENGAH|BGR2|DKI Jakarta|15236||08152360155||19820115|32|L||I|SEKTOR INFORMASI (BURUH/KAR)|C|SMU|2|Rp600.001 - Rp1.000.000|1|Credit|||||1DY400|010A|MH31DY004DJ210124|1DY-210136|MOPED4|JUPITER Z1 FI|MR|MERAH|01|2013|20140228|||||||||||||||||||||0|Mandala||||||||||||||0| 展开
代码如下:
sed -e '
s/[^\!-~ ]//g
/|/w IF_Modify1.txt
' ${1}
sed -e '
s/\\|/\\ |/g
/|/w IF_Modify.txt
' IF_Modify1.txt
rm -f IF_Modify1.txt
mv -f IF_Modify.txt ${1}
现在我要做服务器迁移、把unix换成linux. 如果使用这个文件、会把文件直接变成一个空文件。请问linux下这个命令要怎么写呢?
附一段乱码文件
JI0015|PT.HASTA BERSAMA PRIMAっっ?JAYA||3201110312570002|ATENG|KP.PABUARAN|RT. 003 RW. 005|PABUARAN|GUNUNG SINDUR|BGR1|JAWA BARAT|16340||081328516728||19571203|57|L||L||C|SMU|3|Rp1.000.001 - Rp1.500.000|1|Credit|||||1DY200|010B|MH31DY002DJ135075|1DY-135104|MOPED4|JUPITER Z1 CW FI|BR|BIRU|01|2013|20140228|||||||||||||||||||||0|ADIRA||||||||||||||0|
JJ0016|MEKAR MOTOR||3271035501820003|SITI SOッッsLIHAT|TEGAL MANGGA|RT.003/007|TEGALLEGA|KOTA BOGOR TENGAH|BGR2|DKI Jakarta|15236||08152360155||19820115|32|L||I|SEKTOR INFORMASI (BURUH/KAR)|C|SMU|2|Rp600.001 - Rp1.000.000|1|Credit|||||1DY400|010A|MH31DY004DJ210124|1DY-210136|MOPED4|JUPITER Z1 FI|MR|MERAH|01|2013|20140228|||||||||||||||||||||0|Mandala||||||||||||||0| 展开
展开全部
echo -e "\\\[(PRIMA っ|っ\t?\"'&**()^%|$#@JAYA"|sed 's/[^A-Za-z0-9~`!@#$%^&*()_+-=;?/|"'"'"''' \t\]*//g'
运行结果:
\(PRIMA | ?"'&**()^%|0@JAYA
说明:需要保留的字符就加到sed 's/[^要保留的字符];
该命令无法保留[],还没有找到解决办法
追问
大神 能解决吗?
's/[^A-Za-z0-9~`!@#$%^&*()_+-=;?/|"'"'"''' \t\]*//g'
这个是把所有数字、字母、字符以为的东西都替换成空是吗?
追答
是去掉,不是替换成空,目前不能保留的是[],暂时没有想到怎么处理这两个字符
里面的字符我没有添加完整,你自己看看缺啥添加啥,不过别添加[],shell里面有些字符比较特殊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询