gpt4 book ai didi

bash - 如何使用管道字符分隔符分隔字段

转载 作者:行者123 更新时间:2023-11-29 08:59:34 26 4
gpt4 key购买 nike

我知道这个问题已经被问过,但我找到的解决方案没有一个对我有用!我有一个程序有这样的输出:

COUNT|293|1|lps

我对第二个字段很感兴趣,但是这些尝试都没有成功:

./spawn 1 | cut -d '|' -f2
./spawn 1 | cut -d \| -f2
./spawn 1 | awk -F "|" '{print $2}'
./spawn 1 | awk 'BEGIN{FS="|"} {print $2}'
./spawn 1 | sed 's/|/;/g'
./spawn 1 | sed 's/\|/;/g'

但是输出总是一样的:

COUNT|293|1|lps

bash 中是否存在错误?我会感到惊讶,结果在我的 Linux 主机上和在我的嵌入式设备上使用 busybox 的 ash 是一样的!非常感谢任何指针!

编辑我的错,输出在 stderr ... ._.

./spawn 1 2>&1 | cut -d '|' -f2
4615

抱歉打扰了!

最佳答案

只是重复我在评论中的猜测作为答案,既然发问者已经确认这是问题所在。

这里的问题是 ./spawn 1 输出到标准错误,而不是标准输出。您可以使用 2>&1 重定向输出,因此以下应该有效:

./spawn 1 2>&1 | cut -d '|' -f2

关于bash - 如何使用管道字符分隔符分隔字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018691/

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