从文件中按照它们在bash中首次出现的顺序提取唯一行

Sco*_*len 2 bash

我有一个包含字符串列表的文件.我想按照它们首次出现在文件中的顺序提取出唯一的字符串.

因此,例如,如果我的文件包含:

foo
bar
foo
bar
baz
bar
foo
Run Code Online (Sandbox Code Playgroud)

我想输出:

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

如果我只想要唯一的值,我可以使用sort input|uniq,但这会按字母顺序排序我的结果.

Kev*_*vin 12

在awk中非常简单:

awk '!a[$0]++'
Run Code Online (Sandbox Code Playgroud)