【问题标题】:Sort/Edit A File with Unix Commands?使用 Unix 命令对文件进行排序/编辑?
【发布时间】:2012-04-16 04:02:17
【问题描述】:

我有一个 300MB 的文件,如下所示:

物品物品
项目项目
项目 2 东西
... ...

基本上是两列一直向下。所以每一行都有两个条目。这些列由this character (Alt +0009) 分隔,我认为这是“制表符”字符。这些行按第一列条目的字母数字顺序排序。

基本上我需要对这个文件做的是用它生成一个新文件,如下所示:

  • 首先,按second 列条目的字母数字对行进行排序。
  • 其次,删除第二列条目从未作为第一列条目之一出现在文件中的所有行。

例如:

A B
一个C
一个电子
C A
英法

前往

C A
甲乙
一个C
一个电子
英法

然后终于到

C A
一个C
一个E

(请注意,在此示例中,我使用空格字符而不是制表符分隔列,在我尝试排序的文件中,列由制表符分隔(Alt +0009))

那么我将如何使用 Unix 命令执行此操作?

【问题讨论】:

  • 这个好像有点太专业了,还是自己写个程序比较好
  • 为什么A E 行被删除,即使E F 在输入中?
  • @VeeArr 啊,谢谢,已修复。

标签: sorting unix filter


【解决方案1】:

可以使用sort 实用程序处理第一个操作(适当设置-k 标志)。第二个操作更复杂,可能需要实现某种自定义脚本。

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多