作者kojj (我先想想)
看板RegExp
标题[问题] 用sed 置换部门代号
时间Fri May 29 15:11:21 2015
/*
听说注明使用的语言、环境
*
问题有可能较容易被解决...
*/
使用环境: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
我想问的是,有没有比较正确的写法来处理这个问题?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.105.102.46
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/RegExp/M.1432883484.A.F34.html
1F:推 LPH66: 於是这需求可以看成「找第一个 _ 之後吃到 " 为止」 05/30 02:32
2F:→ LPH66: 这样就可以写成 sed -i s/_[^"]*"/"/ 05/30 02:33
3F:→ kojj: 感谢!脑袋瓜没想到可以这样做。 05/30 20:43