我試圖用sed在被以特定方式格式化的文本文件,刪除列表中的特定項目中刪除的項目。我只是舉例說明;我有...使用的sed在列表
ITEMS="$ITEM $ITEM1 $ITEM2 $ITEM3"
,我想從列表中刪除$ ITEM所以這將成爲...
ITEMS="$ITEM1 $ITEM2 $ITEM3"
名單中還甚至可以只包含單獨$項目沒有編號$項目的,就像...
ITEMS="$ITEM"
,這將成爲
ITEMS=""
一旦$ ITEM被刪除掉當然。
在執行這一發現它不知道有多少$項目的存在列表/刪除。所述文本文件包含除此行之外的其他文本,但ITEMS =對於文本文件的行的開頭是唯一的,即,這是以ITEMS =開頭的唯一行。所以基本上,我想找到以ITEMS =開頭的行,並從中刪除$ ITEM元素。用sed怎麼能完成這個最好的?
通過'$ ITEM'你從字面上的意思是一個美元符號後跟字'ITEM'?或者是一個Bash的變量?或者你有一個固定的字符串,而'$ ITEM'只是你的非正式記法它這個問題的目的是什麼? – ruakh
'$ ITEM'是名副其實的美元符號後跟一個詞,它不是在這種情況下,可變的,正則表達式的字符,包括'$'和'「'需要被佔因此前面都有一個\ – user2150250
,那麼你必須單引號,否則它不會工作:比較'ITEMS =「$ ITEM」;回聲「$條」''到ITEMS =「$項」;回聲「$ ITEMS「' –