日期:2014-05-16  浏览次数:21257 次

grep、awk、sed等怎么匹配中文
比如说 grep ^INSERT.*VALUES.*\).*\). sql_compare.txt 这句命令能够匹配 
INSERT INTO `abc` (`id`, `fre_id`, `ti`, `ber`, `level`, `ro`, `ted`, `dated`) VALUES ('31', '2', 'akjfjkld', '2', '1', 'jhljljdfsjojao', CURRENT_TIMESTAMP, NULL), ('32', '2', 'jafjsl', '99999', '1', 'lajlfdajsjo', CURRENT_TIMESTAMP, NULL);

要怎样写才能匹配

INSERT INTO `abc` (`id`, `fre_id`, `ti`, `ber`, `level`, `ro`, `ted`, `dated`) VALUES ('31', '2', '将卡带机', '2', '1', 'j阿发链接', CURRENT_TIMESTAMP, NULL), ('32', '2', '捡垃圾奥利弗', '99999', '1', '辣椒佛啊', CURRENT_TIMESTAMP, NULL);


------解决方案--------------------
把每个汉字转成\xxx格式的utf-8码来用
------解决方案--------------------
看export LANG是什么编码的 如果是GBK的话 直接用 grep 中文
------解决方案--------------------
记得以前谁说过这个问题,貌似只直接先把英文字母以及所有特殊字符以外的先过滤掉,然后再过滤
------解决方案--------------------
有中文字库的话,貌似可以直接匹配啊
------解决方案--------------------
$ cat 1.txt
INSERT INTO (NULL);
INSERT INTO '辣椒佛啊', NULL);
$ grep ^INSERT.*\). 1.txt
INSERT INTO (NULL);
INSERT INTO '辣椒佛啊', NULL);
$ echo $LANG
zh_CN.GBK
$