我有一个用例将属性 :: 添加到字段 name_[0-9][0-9]: 但某些字段已经具有属性 ::,所以我只需要将属性 :: 添加到 name_[0-9][ 0-9]:后面没有属性:
我试过这个:
sed -n 's/name_[0-9][0-9]:(?!attribute::)/&attribute::/p' out
Run Code Online (Sandbox Code Playgroud)
我在在线正则表达式调试器上测试,正则表达式应该是我需要的,但实际上如果我给出 name_01:abc,这不匹配
此命令将打印a
.
echo "line1 a b c" | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)
如果我将单引号更改为双引号,就像这样,它将打印整行.
echo "line1 a b c" | awk "{ print $2 }"
Run Code Online (Sandbox Code Playgroud)
为什么?我知道我应该使用单引号,但如果我使用双引号,为什么打印整行?