我正在尝试检查文本文件中的字符串。如果string1不存在,则在字符串2之后添加string1。否则string1不执行任何操作。
这是我到目前为止所拥有的:
if [ string1 does not exisit ] //Stuck at this
then
sed '/string2/ a\ string1' myfile
fi
如何在字符串中包含“/”字符?
答案 0 :(得分:4)
if grep -qs string1 myfile
then
sed '/string1/ a\ string2' myfile
fi
但是,您可以跳过if
,因为sed
正在测试是否存在字符串。这样,你只需要读取一次文件而不是两次。如果您希望对文件进行就地更改,请使用sed -i
。
答案 1 :(得分:0)
您可以使用grep
,例如:
$(grep -q "string1" myfile)
if [ $? -eq 1 ]; then
sed '/string1/ a\ string2' myfile
fi