我正在尝试使用密钥搜索文件,并将123添加到行尾。而不是关键"你好"我没有你好的价值观。我怎样才能实现这个sed或awk?
您好=" 80,30,255,64"
您好=" 80,30,255,64,123"
答案 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匹配的精确子字符串。)