Cygwin 中的 grep 输出

Cygwin 中的 grep 输出

为什么在 Cygwin 中运行的脚本中的 grep 在其 (grep) 的输出重定向到另一个文本文件时不维护文本文件的列式输出 - 比如说,一个 x、y 坐标列表,用 x 和 y 标记,它可以分成 2 个文件 (一个是 x 坐标,另一个是 y 坐标,其中 xs 和 ys 可以通过 sed 移除)。相反,它输出的是一开始是一列数字,然后是行间用空格分隔的数字?我试过 Cygwin 网站,但有太多垃圾需要浏览。

答案1

可能是因为grep,当给定两个或更多文件名参数时,会在每行前面添加文件名和冒号。如果列由制表符分隔,制表位将不会位于同一位置。

-h选项禁止文件名前缀,并且应避免任何错位,因为grep不会修改其输入行(除了在文件名前面添加)。

expand您还可以考虑用空格代替制表符来过滤输入文件。

如果这不能解决问题,请发布一些示例输入和输出。

相关内容