0
我有這個劇本只用一個線,但我不明白它確實:
sed -i '/$$wf_cdc=/c\$$wf_cdc='"$1"'' /Infa_sharedBDE/PARAMS/pf_CREDITO_CDC.cfg
就應更換創建pf_CREDITI_CDC.cfg
文件的副本,但 是什麼命令呢?
'/$$wf_cdc=/c\$$wf_cdc='"$1"''
什麼是$$
?
我有這個劇本只用一個線,但我不明白它確實:
sed -i '/$$wf_cdc=/c\$$wf_cdc='"$1"'' /Infa_sharedBDE/PARAMS/pf_CREDITO_CDC.cfg
就應更換創建pf_CREDITI_CDC.cfg
文件的副本,但 是什麼命令呢?
'/$$wf_cdc=/c\$$wf_cdc='"$1"''
什麼是$$
?
$$
這裏的字面意義。該命令執行以下操作:
'/$$wf_cdc=/
是行地址:如果行包含字符串$$wf_cdc=
,然後...c\$$wf_cdc='"$1"''
也可以寫成c $$wf_cdc='"$1"''
(至少在GNU SED):它取代了模式空間(當前行)\$$wf_cdc='"$1"''
。就我個人而言,我會避免$
兩次,以確保它不被解釋爲行尾錨,但有時你沒有它逃脫。
'"$1"''
是第一個位置參數正確引用:sed命令結束單引號,然後在雙引號插入$1
,然後完成單引號字符(空的休息,在這種情況下,並可能在我看來被丟棄)。總而言之,這將在函數或腳本調用,查找包含$$wf_cdc=
線,並與$$wf_cdc=<parameter>
,其中<parameter>
提供給腳本或函數作爲第一個參數替換它。
-i
標誌替換正在編輯的文件,即「創建並修改臨時副本」,然後將該副本重命名爲原始文件的名稱。