【问题标题】:echo specific string inside quotes from variable在变量的引号内回显特定字符串
【发布时间】:2020-02-17 13:31:42
【问题描述】:

我需要一个脚本来回显一个用引号括起来的字符串。

例如,从变量x="C. Ronaldo" "dos Santos Aveiro" "Cristiano Ronaldo" 我想回显第三个。

所以我想得到如下输出:"Cristiano Ronaldo"

我已经用echo $x | awk '{print $3}' 尝试过,但它给了我"dos..

有什么帮助吗?

【问题讨论】:

  • 如果使用支持数组的 shell,x=("C. Ronaldo" "dos Santos Aveiro" "Cristiano Ronaldo") ; echo "${x[2]}" 会生成 Cristiano Ronaldo(数组索引从零开始)。祝你好运。

标签: bash variables output echo


【解决方案1】:

默认情况下,awk 按空格将记录拆分为字段,给定您的字符串,"dos 是第三个字段。要以您希望的方式解析此字符串,需要 GNU awk 的 FPAT。例如:

awk -v FPAT='"[^"]*"' '{print $3}'

【讨论】:

    猜你喜欢
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多