用于列出文本文件中所有不同字符的脚本

时间:2013-03-20 10:19:27

标签: bash sed awk

E.g。

给定文件input.txt,其中包含以下内容:

He likes cats, really?

输出如下:

H
e

l
i
k
s
c
a
t
,
r
l
y
?

请注意输出中字符的顺序无关紧要。

4 个答案:

答案 0 :(得分:11)

怎么样:

echo "He likes cats, really?" | fold -w1 | sort -u

答案 1 :(得分:6)

使用grep -o .将每个字符放在换行符和sort -u以删除重复项的方法之一:

$ grep -o . file | sort -u 

或者一个不需要sort -u的解决方案或纯粹在awk中编写的多个命令:

$ awk '{for(i=1;i<=NF;i++)if(!a[$i]++)print $i}' FS="" file

答案 2 :(得分:0)

您可以按如下方式使用sed

sed 's/./\0\n/g' input.txt | sort -u

答案 3 :(得分:0)

awk方式:

awk  '{$1=$1}1' FS="" OFS="\n" file | sort -u