在 *nix 环境中,如何将列分组在一起?
我有以下文本文件:
A,B,C
A,B,C
A,B,C
有没有办法使用标准 *nix 工具(cut、grep、awk、sed 等)来处理这样的文本文件并获得以下输出:
A
A
A
B
B
B
C
C
C
I have the following text file:
A,B,C
A,B,C
A,B,C
Is there a way, using standard *nix tools (cut, grep, awk, sed, etc), to process such a text file and get the following output:
A
A
A
B
B
B
C
C
C
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
这将生成
你可以排序的内容。
除非您想拉出第一列,然后拉出第二列,然后拉出第三列,在这种情况下,您需要类似的内容:
为了解释这一点,第一部分生成
第二部分将稳定排序(因此保留内部顺序)
,第三部分将剥离数字
You can do:
and that will generate
which you could sort.
Unless you want to pull the first column then second then third, in which case you want something like:
To explain this, the first part generates
the second part will stably sort (so the internal order is preserved)
and the third part will strip the numbers
如果您事先知道列数,则可以将 shell for 循环与 cut 结合使用。下面是一个使用 bash 语法的示例:
You could use a shell for-loop combined with cut if you know in advanced the number of columns. Here is an example using bash syntax:
尝试:
Try: