我需要从字符串中删除一些数字,a:
和 2 ,看起来像"
"9.cgadjka.jsjdaj:12345"
我只需要
9.cgadjka.jsjdaj
我第一次在 Linux 终端编写脚本,现在对此不太了解。
答案1
使用sed
$ echo '"9.cgadjka.jsjdaj:12345"' | sed 's/:.*\|"//g'
9.cgadjka.jsjdaj
匹配:
和 其后的所有字符,或者"
并删除它们
答案2
使用 GNUgrep
你可以这样做:
$ echo '"9.cgadjka.jsjdaj:12345"' | grep -Po '(?<=").*(?=:)'
9.cgadjka.jsjdaj
答案3
在评论中您会看到解决方案sed
。您还可以使用以下命令删除这些符号awk
:
echo "9.cgadjka.jsjdaj:12345" |awk -F: '{print $1}'
如果双引号是字符串的一部分,您应该使用:
STRING='"9.cgadjka.jsjdaj:12345"'
echo $STRING |awk -F'[":]' '{print $2}'
其中包含带有双引号 ( )STRING
的字符串"