【发布时间】:2022-01-23 09:37:35
【问题描述】:
我的工作目录如下:
MyWorkDirectory
└── test
文件“test”包含一行信息:
1:2:3:4:5
当我使用以下命令时:
cat test foo
输出如下:
1:2:3:4:5
cat: foo: No such file or directory
我想忽略STDOUT而只处理STDERR,我想用cut命令得到第三个STDERR以“:”分隔的段,所以我尝试了以下命令:
cat test foo 2>&1 1>/dev/null | cut -d ':' -f 3
我觉得这里的输出应该是这样的:
No such file or directory
但是,这里有很多不同的输出:
1、
1
No such file or directory
2、
No such file or directory
3
3、
2
4、
...
为什么会生成这些输出?如果我想实现我的目标,我应该使用哪些命令?
【问题讨论】:
-
我每次都收到相同的
No such file or directory唯一消息。 -
我在 Ubuntu 系统上测试过,每次都得到相同的正确答案。但是当我在我的 MacBook 上测试它时,我得到了错误的结果。我的 macOS 版本是 12.1。
标签: linux macos pipe stdout cat