abi*_*964 29 linux awk replace sed
我有一个命令输出,我想从中删除双引号"
.
正则表达式:
strings -a libAddressDoctor5.so |\
grep EngineVersion |
awk '{if(NR==2)print}' |
awk '{print$2}'
Run Code Online (Sandbox Code Playgroud)
输出:
EngineVersion="5.2.5.624"
Run Code Online (Sandbox Code Playgroud)
我想知道如何用awk
或删除不需要的字符sed
.
gre*_*ift 33
使用awk你可以做(我也缩短了你的一些管道):
strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print $2 } }'
Run Code Online (Sandbox Code Playgroud)
我无法为您验证,因为我不知道您的确切输入,但以下工作:
echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print $2 }'
Run Code Online (Sandbox Code Playgroud)
另请参阅有关删除单引号的此问题.
Mat*_*aun 11
tr
可以比sed
or更简洁地删除字符awk
,尤其是当您想从字符串中删除多个不同的字符时。
去除双引号:
echo '"Hi"' | tr -d \"
# Prints Hi without quotes
Run Code Online (Sandbox Code Playgroud)
删除不同类型的括号:
echo '[{Hi}]' | tr -d {}[]
# Prints Hi without brackets
Run Code Online (Sandbox Code Playgroud)
-d
代表“删除”。