作者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/m.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