cat $1 | iconv -f utf8 -t gbk | xxd -p \
| sed 's/\(..\)/\1\n/g' | sed '/^$/d' \
| awk '{if($1>="80") print $1; else print ""}' \
| awk '{if($1!="") start=1; if($1=="" && start==1) start=0; if(start==1) printf ""$1; else print ""; }' \
| sed '/^$/d' | sed 's/\(..\)/\\\\x\1/g' \
| xargs -i echo -e "{}" \
| iconv -f gbk -t utf8 | sort | uniq
核心:利用GBK的高位至少a0来抽取。但注释汉字没考虑,并且汉字加英文或数字的情况,也没考虑。
网友评论