我想替換文件中字符串的一部分,即將NFIN=4
替換爲W=4N
。 請注意,在NFIN=4
的數字部分中,數字可以是任何整數或浮點值;如果輸入爲NFIN=3.0
,則輸出應爲W=3.0
。 沒有負數,它是3或3.0。 例如,輸入線:使用SED/AWK替換字符串
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=4 ODIND=5
應該成爲輸出:
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N W=4N ODIND=5
如果你不這並不意味着具有負指數的負數是有意的,然後適當更新問題。 –
sed -E -inplace's/\ bNFIN =([[:digit:]] +)\ b/W = \ 1N /'PREICG_X1M_AH360TL_C8_ARCH_3_4.lpeSpc – metalboy
這很重要,因爲它使得數匹配的正則表達式更加複雜,但基礎是一樣的。 NFIN條目是否曾經出現過(不太可能)或行尾?如果它總是在一條線的中間,那也會讓生活變得更容易。如果數字總是有效的(例如,永遠不會有像'NFIN = Aleph-Null'那樣不應該被改變的條目),那麼它在'NFIN ='之後的數字的事實在很大程度上變得不重要。使用正則表達式是一種美術;你希望有足夠的靈活性去做你想做的事,而不要做太多或太少。瞭解你的數據! –