[问题] 用sed 置换部门代号

楼主: kojj (我先想想)   2015-05-29 15:11:21
/* 听说注明使用的语言、环境
* 问题有可能较容易被解决...
*/
使用环境:bash
我有一些json档案如下
hangc.json: "primarygroup": "mdd",
changju.json: "primarygroup": "gr",
changk.json: "primarygroup": "tp_do_1",
changp.json: "primarygroup": "tm",
changsc.json: "primarygroup": "tc_bo",
changsh.json: "primarygroup": "tp_do_1",
changs.json: "primarygroup": "sd_do_1",
changt.json: "primarygroup": "sl",
primarygroup 是每个成员的所属部门,但是我们某些系统中需要把所属部门层级拉高到地区
例如
changc.json: "primarygroup": "mdd",
changju.json: "primarygroup": "gr",
changk.json: "primarygroup": "tp",
changp.json: "primarygroup": "tm",
changsc.json: "primarygroup": "tc",
changsh.json: "primarygroup": "tp",
changs.json: "primarygroup": "sd",
changt.json: "primarygroup": "sl",
我目前可以用sed 将档案内的primarygroup置换成上述状况
sed -i s/_[a-z][a-z]// $add_source/${add_user_name}.json
sed -i s/_[0-9]// $add_source/${add_user_name}.json
我想问的是,有没有比较正确的写法来处理这个问题?
作者: LPH66 (-6.2598534e+18f)   2015-05-30 02:32:00
于是这需求可以看成“找第一个 _ 之后吃到 " 为止”这样就可以写成 sed -i s/_[^"]*"/"/
楼主: kojj (我先想想)   2015-05-30 20:43:00
感谢!脑袋瓜没想到可以这样做。

Links booklink

Contact Us: admin [ a t ] ucptt.com