微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell – 如何从命令输出获取第二列?

我的命令的输出是这样:
1540 "A B"
   6 "C"
 119 "D"

第一列总是一个数字,后跟一个空格,然后是一个双引号字符串。

我的目的是只获得第二列,如:

"A B"
"C"
"D"

我打算使用< some_command> | awk'{print $ 2}’来完成这个。但问题是,第二列中的某些值包含空格,这恰好是awk分隔字段的认分隔符。因此,输出被弄乱:

"A
"C"
"D"

如何清楚地获得第二列的值(带有成对引号)?

或使用sed&正则表达式。
<some_command> | sed 's/^.* \(".*"$\)/\1/'

原文地址:https://www.jb51.cc/bash/391663.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐