如何在每行输入中找到唯一字符?

use*_*187 7 bash awk grep sed

有没有办法提取每一行的独特字符?

我知道我可以找到使用的文件的唯一行

sort -u file
Run Code Online (Sandbox Code Playgroud)

我想确定每一行的独特字符(类似于sort -u每一行).

澄清:鉴于此输入:

111223234213
111111111111
123123123213
121212122212
Run Code Online (Sandbox Code Playgroud)

我想得到这个输出:

1234
1
123
12
Run Code Online (Sandbox Code Playgroud)

123*_*123 5

使用sed

sed ':;s/\(.\)\(.*\)\1/\1\2/;t' file
Run Code Online (Sandbox Code Playgroud)

基本上它的作用是捕获一个角色并检查它是否出现在线上的任何其他位置.它还捕获了这些之间的所有字符.然后它取代所有这些,包括刚出现的第二次发生,然后是中间的发生.

t:如果上一个命令成功,则测试并跳转到标签.然后重复此操作直到s///命令失败意味着只保留唯一字符.

; 只是分开命令.

1234
1
123
12
Run Code Online (Sandbox Code Playgroud)

保持秩序.