目前,我有一個全功能的sed命令,增加了一個項目,以下列方式具體的文本文件列表...條件SED替代
ITEMS="$ITEM1 $ITEM2 $ITEM3"
成爲下,當我們要插入$ITEM4
...
ITEMS="$ITEM1 $ITEM2 $ITEM3 $ITEM4"
列表中的項目數量是未知的;它是動態的。該文本中的美元符號和引號應從字面上理解。
我用下面的命令來完成除了列表(可變$itemNum
在別處分配)...
sed "/^\s*ITEMS=/s/\"$/ \$ITEM$itemNum&/" file.txt
這一切呢,當然是找到以ITEMS=
線(也可能是與領先的空格),並將該行中的最後一個雙引號替換爲空格加上所需的項目加雙引號(將替換的雙引號放回原位)。但是,我有一個附加的情況下ITEMS
列表可能是空的,像這樣......
ITEMS=""
在這種情況下,我的命令將插入$ITEM4
在列表像這樣結束......
ITEMS=" $ITEM4"
不過,我想我的命令能夠佔到一個空列表,而不是把主要空間時,列表確實是空的,所以它只是看起來像......
ITEMS="$ITEM4"
如何改變我現有的命令以最好地完成此操作?
在這種情況下
謝謝。請問你請簡要解釋一下你的命令是如何構造的,關於單引號和雙引號的各種用法?就像你如何使用它們來說明問題的語法一樣?還有,你會介意添加一個使用所有傾斜牙籤,只是爲了我的學習嗎? – user2150250
謝謝你的解釋,他們幫助很大。 – user2150250