gpt4 book ai didi

bash - awk 与/bin/bash -c 一起使用时不工作

转载 作者:行者123 更新时间:2023-12-02 18:48:23 28 4
gpt4 key购买 nike

这会正确打印test

$ echo 'this is a test' | awk '{print $4}'
test

/bin/bash -c 中使用此命令时不起作用

/bin/bash -c "echo 'this is a test' | awk '{print $4}'"
this is a test

/bin/bash -c 一起使用时如何使 awk 正常工作?

最佳答案

$4 被 shell 消耗,因为您有双引号命令字符串。

您可以通过在 bash 命令行中添加 -x 来检查跟踪输出:

bash -xc "echo 'this is a test' | awk '{print $4}'"
+ echo 'this is a test'
+ awk '{print }'
this is a test

由于 $4 扩展为空字符串,因此它有效地运行 awk '{print }',从而在输出中打印完整的行。

要解决此问题,您应该使用转义的 $ 来避免这种扩展:

bash -c "echo 'this is a test' | awk '{print \$4}'"
test

关于bash - awk 与/bin/bash -c 一起使用时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67114140/

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