gpt4 book ai didi

linux - awk + ​​从用双引号定义的行打印字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:32 26 4
gpt4 key购买 nike

如何从用双引号定义的行打印第三个字段

例如

echo activate.bash /home/adm/run.sh "run on machine with eth2 active" "94061" | awk '{print $3}'

我预计 awk 会在双引号中打印第三个字段

 run on machine with eth2 active

但它的打印

 run

那么我需要在我的 ksh 语法中修复什么?

其他例子

echo 123 123 "1 2 3 4 5" | awk '{print $3}'

应该打印

1 2 3 4 5

最佳答案

您可以像这样在 awk 中使用自定义字段分隔符:

s='activate.bash /home/adm/run.sh "run on machine with eth2 active" "94061"'
echo "$s" | awk -F '"' '{print $2}'
run on machine with eth2 active

PS:更好用:

awk -F '"' '{print $2}' <<< "$s"

Working Code Demo

关于linux - awk + ​​从用双引号定义的行打印字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com