1

我有一个 300MB 的文件,看起来像这样:

项目 项目
项目 项目
2 东西
……

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

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

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

例如:

AB
AC
AE
CA
EF

前往

CA
AB
AC
AE
EF

然后终于到

CA
AC
AE

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

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

4

1 回答 1

2

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

于 2012-04-16T04:09:36.887 回答