目前,我有一个全功能的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