[英]append value to variable using sed - shell script
我正在尝试使用密钥搜索文件,并将123添加到行尾。 除了关键的“你好”我没有你好的价值观。 我怎样才能实现这个sed或awk?
你好= “80,30,255,64”
你好= “80,30,255,64,123”
尝试下面的sed表达式:
sed 's/"$/,123"/' inputfile
它应该给你:
hello="80,30,255,64,123"
以下awk代码可能会帮助您。
awk -F"\"" '{$2=$2 ",123"} 1' OFS="\"" Input_file
使用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匹配的精确子字符串。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.