Board logo

标题: sed或者awk两个软件是否可以处理unicode文本 [打印本页]

作者: freesoft00    时间: 2014-5-28 10:55     标题: sed或者awk两个软件是否可以处理unicode文本

具体这两个软件的使用区别我也不知道。比较外行,我想处理一个文本,删除其中指定字符的行。或者替换指定字符的行。但文本是unicode格式的,批处理处理不了。
我按照网上给的sed命令删除这个文本中的符合指定字符的行,处理后的文本像乱码形式的一样。不知道这连个软件是否可以处理这个格式的。
另外,我的具体需求,是使用sed呢,还是使用awk。
比如我删除的字符行是
232342test

比如要替换的字符行是
test123456
替换为
test789123

作者: PowerShell    时间: 2014-5-28 11:55

本帖最后由 PowerShell 于 2014-5-28 12:47 编辑

记住这一点,linux和linux下的东西,是以英文为基础的,处理多字符集的,容易乱码。
想要修正,至少20年。---口说无凭,你在linux,win分别建立个账户【张三】然后top试试。
另外默认的sed貌似有win回车识别问题。

win,从win2000开始,本身基于大字符集。java,。net是真正的unicode处理语言。python3,只部分是
所以powershell是世界上最好的编码处理脚本语言。

怎么个好法,详见拙作:
http://www.bathome.net/thread-26673-1-1.html
http://www.bathome.net/thread-25683-1-1.html

再说了,最好的脚本语言我都不想用,嫌麻烦,
虽然脚本强大,但大多数我们不需要这么强大,我们的需求很简单,
我们就可以用【图形界面的编辑软件+正则+宏】来处理啊,这多傻瓜化。
而且有专门的,图形界面的,搜索替换软件。如 search & replace
作者: freesoft00    时间: 2014-5-28 13:23

本帖最后由 freesoft00 于 2014-5-28 13:26 编辑

感谢,我也知道powershell比较强大,但是因为它来到比较晚,dos先了解了,不想再费精力去研究这个新的东西了,虽然它很好,但是我不是专业人士,只是偶尔处理东西想方便些。没有那个精力去深入了解。
图像界面因为我处理的文本不算大,记事本就可以手工完成。我只是看是否有命令行当程序,可以自动花完成这些操作。
谢谢了
作者: DAIC    时间: 2014-5-28 16:45

本帖最后由 DAIC 于 2014-5-28 16:47 编辑
  1. type 1.txt | sed "s/test123456/test789123/" > 2.txt
复制代码
从这里下载 sed.exe
http://code.google.com/p/gnu-on-windows/downloads/list
作者: freesoft00    时间: 2014-5-29 15:39

本帖最后由 freesoft00 于 2014-5-29 16:04 编辑

这样不可以,处理后的文件就不是unicode编码了,而变为了ansi码
作者: Tuberose    时间: 2014-5-29 16:04

你把 unicode文本 打包发上来
我们看看
作者: freesoft00    时间: 2014-5-29 16:07

是xp系统光盘中的inf文件,在i386目录中,一搜就搜到了。这个时候不方便上传,如果能找到最好,如果找不到我晚上传上来。
作者: CrLf    时间: 2014-5-29 20:43

回复 5# freesoft00
  1. type 1.txt | cmd /u /c sed "s/test123456/test789123/" > 2.txt
复制代码
不过如果要文件头得多一步
而且,unicode 转 ansi 可能会丢字符




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2