使用sed-shell脚本将值附加到变量

时间:2017-10-27 09:51:20

标签: linux unix awk sed append

我正在尝试使用密钥搜索文件,并将123添加到行尾。而不是关键"你好"我没有你好的价值观。我怎样才能实现这个sed或awk?

文件内容

您好=" 80,30,255,64"

预期输出

您好=" 80,30,255,64,123"

3 个答案:

答案 0 :(得分:3)

尝试下面的sed表达式:

sed 's/"$/,123"/' inputfile

应该给你:

hello="80,30,255,64,123"

答案 1 :(得分:0)

以下awk代码可以帮助您。

awk -F"\"" '{$2=$2 ",123"} 1' OFS="\""  Input_file

答案 2 :(得分:0)

使用awk

awk 'sub(/"$/,",123&")+1' infile

测试结果:

$ echo 'hello="80,30,255,64"' | awk 'sub(/"$/,",123&")+1'
hello="80,30,255,64,123"

sub(/"$/,",123&")+1如果sub(),则不返回非零,然后仍打印此行

I am trying to search the file using the key and add 123 to the end of line.

在这里找不到任何关键字,如果你想说hello是你的关键那么

awk '/^hello=/{ sub(/"$/,",123&") }1' infile > outfile

<强>解释

  • /^hello=/ - 查找以hello=
  • 开头的行

^表示字符串的开头。)

  • sub(/"$/,",123&") - 替换"$

$表示字符串的结尾)

使用逗号,123和&

(特殊字符&出现在替换中,它代表与regexp匹配的精确子字符串。)