小编mic*_*ael的帖子

带有负前瞻正则表达式的 Sed 替换

我有一个用例将属性 :: 添加到字段 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,这不匹配

regex bash sed

2
推荐指数
1
解决办法
3742
查看次数

在awk中使用双引号

此命令将打印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)

为什么?我知道我应该使用单引号,但如果我使用双引号,为什么打印整行?

linux shell

2
推荐指数
1
解决办法
1076
查看次数

标签 统计

bash ×1

linux ×1

regex ×1

sed ×1

shell ×1