第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用組替換perl正則表達(dá)式

用組替換perl正則表達(dá)式

郎朗坤 2021-04-06 12:33:57
我有以下json輸入... "somefield":"somevalue", "time":"timevalue", "anotherfield":"value" ...在我的ksh腳本中,我希望將timevalue替換為我的值。所以我用工作組創(chuàng)建了這個正則表達(dá)式data=`cat somefile.json`echo $data | perl -pe "s|(.*time\"\s*\:\s*\").*?(\".*)|\1%TIME%\2|g" | another-script.sh... "somefield":"somevalue", "time":"%TIME%", "anotherfield":"value" ...但是...我不能用數(shù)字代替,因?yàn)閜erl用數(shù)字定義組..所以這個顯然不起作用perl -pe "s|(.*time\"\s*\:\s*\").*?(\".*)|\120:00:00\2|g"我可以通過兩步替換來克服這個問題perl -pe "s|(.*time\"\s*\:\s*\").*?(\".*)|\1%TIME%\2|g" | perl -pe "s|%TIME%|20:00:00|"... "somefield":"somevalue", "time":"20:00:00", "anotherfield":"value" ...但我敢肯定,有一種更好,更優(yōu)雅的方法
查看完整描述

2 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個贊

雖然您可以使用正則表達(dá)式執(zhí)行此操作,但是使用正確的工具會容易得多

jq '.time="20:00:00"' somefile.json

如果您特別希望使用Perl,Perl的核心發(fā)行版自2011年起就包含JSON解析器,因此您可以執(zhí)行以下操作:

perl -MJSON::PP=decode_json,encode_json -0 -E '$j = decode_json(<>); $j->{time} = "20:00:00"; say encode_json($j)' somefile.json


查看完整回答
反對 回復(fù) 2021-04-16
  • 2 回答
  • 0 關(guān)注
  • 285 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號