LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6259|回复: 19

拿到一个好的五笔98码表+awk一例[合并]

[复制链接]
发表于 2003-7-16 22:12:43 | 显示全部楼层 |阅读模式
要把格式从这样,
...
aaaa 恭恭敬敬 藏匿 工
...
转成这样,
...
aaaa 恭恭敬敬
aaaa 藏匿
aaaa 工
...

才能在fcitx中使用。 

第一步,用
cat wbcz98.mb | awk '{print NF}' | sort -un
找出一个编码最多对应14个词。

下一步,用
cat wbcz98.mb | awk '{print $1 " " $2;
if (NF>2) {print $1 " " $3};
if (NF>3) {print $1 " " $4};
if (NF>4) {print $1 " " $5};
if (NF>5) {print $1 " " $6};
if (NF>6) {print $1 " " $7};
if (NF>7) {print $1 " " $8};
if (NF>8) {print $1 " " $9};
if (NF>9) {print $1 " " $10};
if (NF>10) {print $1 " " $11};
if (NF>11) {print $1 " " $12};
if (NF>12) {print $1 " " $13};
if (NF>13) {print $1 " " $14};
if (NF>14) {print $1 " " $15}
}' > wbx.mb

拷去/usr/share/fcitx,重启fcitx就好了。

哪位兄弟有更好的办法做这事?
发表于 2003-7-16 23:38:35 | 显示全部楼层
cat wbcz98.mb | awk '{for(i=2;i<=NF;i++) {print $1" "$i}}' > wbx.mb
发表于 2003-7-16 23:51:50 | 显示全部楼层

penny比我快哦

cat wbcx.mb | awk '{
for (i=2;i<=NF;i++) {print $1 " " $i;}
}' > wbx.mb

在cygwin下调试的,代码居然一摸一样。
发表于 2003-7-16 23:53:21 | 显示全部楼层
感觉awk真不错,容易记,因为语法和c居然一模一样。其实我很少用awk,但是会c就可以了。
发表于 2003-7-17 00:05:57 | 显示全部楼层
流汗ing....佩服!!!
发表于 2003-7-17 23:38:54 | 显示全部楼层
i<NF,NF是什么意思?
发表于 2003-7-17 23:54:25 | 显示全部楼层
NF是AWK中一个内制变量,表示当前记录里域的个数
附录:AWK内制变量说明
  1. 变量名                含义
  2. ARGC                命令行参数的个数
  3. ARGV                命令行参数数组
  4. FINENAME        当前输入的文件名
  5. FNR                当前文件里的记录号
  6. FS                输入域分隔符,默认的是一个空格
  7. NF                当前记录里的域的个数
  8. NR                到目前为止的记录数
  9. OFMT                数值输出格式
  10. OFS                输出域分隔符
  11. ORS                输出记录分隔符
  12. RLENGTH                由MATCH函数匹配的字符串的长度
  13. RS                输入记录分隔符
  14. RSTART                由MATCH函数匹配的串偏移量
  15. SUBSEP                下标分隔符
复制代码
发表于 2003-7-17 23:57:56 | 显示全部楼层
javelee版主真是及时呀!
偶明白了,谢谢!
 楼主| 发表于 2003-7-23 09:28:07 | 显示全部楼层

如果问题反过来呢?

果然都是高手
如果我是要把wbx.mb转成wbcz98.mb,那就有点儿难度了吧!
我看了一下man awk,没明白怎样把连续几行的print到一行上去。
发表于 2003-7-23 10:39:24 | 显示全部楼层
用数组,把五笔编码作为数组的索引
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表