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

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

有條件查找和替換

有條件查找和替換

慕姐4208626 2023-07-11 17:15:49
我正在嘗試在多個(gè)文件中執(zhí)行條件查找和替換。文件的內(nèi)容可以是,$value$plusargs("DEC_ARG=%0d", val1);$value$plusargs("HEX_ARG=%h", val2);$value$plusargs("STRING_ARG=%s", val3);這里我想替換$value$plusargs為get_dvalue_argsif there's %0d、 by get_hvalue_argsif%h等等。期望的輸出是,get_dvalue_arg("DEC_ARG", val1);get_hvalue_arg("HEX_ARG", val2);get_svalue_arg("STRING_ARG", val3);我嘗試過下面的“awk”命令,但它用 get_dvalue_arg 替換所有行,awk '/=%0d/&&/$plusargs/{sub("$value$plusargs","get_dvalue_args")}1'我也嘗試了下面的“sed”命令,但結(jié)果相同,sed -i '/=%0d/{s/$value$plusargs/get_dvalue_args/}'請注意,我可以通過 vim 錄制來做到這一點(diǎn),但是我必須逐一修改每個(gè)文件,并且我正在尋找一種更好的方法來一次完成此操作,針對多個(gè)文件
查看完整描述

2 回答

?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

-E使用具有啟用 ERE 選項(xiàng)的sed ,例如 GNU 或 OSX/BSD sed:


$ sed -E 's/\$(value)\$plus(args\("[^=]+)=%0?(.)/get_\3\1_\2/' file

get_dvalue_args("DEC_ARG", val1);

get_hvalue_args("HEX_ARG", val2);

get_svalue_args("STRING_ARG", val3);

對于任何 POSIX sed:


$ sed 's/\$\(value\)\$plus\(args("[^=]\{1,\}\)=%0\{0,1\}\(.\)/get_\3\1_\2/' file

get_dvalue_args("DEC_ARG", val1);

get_hvalue_args("HEX_ARG", val2);

get_svalue_args("STRING_ARG", val3);


查看完整回答
反對 回復(fù) 2023-07-11
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊

Perl 1 襯墊


perl -pne "s/\$value\$plusargs(\(\"[A-Z_]+)=%\d?([a-z])/get_$2value_arg$1/;" data_file

輸入


$value$plusargs("DEC_ARG=%0d", val1);

$value$plusargs("HEX_ARG=%h", val2);

$value$plusargs("STRING_ARG=%s", val3);

輸出


get_dvalue_arg("DEC_ARG", val1);

get_hvalue_arg("HEX_ARG", val2);

get_svalue_arg("STRING_ARG", val3);


查看完整回答
反對 回復(fù) 2023-07-11
  • 2 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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