搜索文件以查找不包括一组字符的字符

时间:2011-10-20 06:08:19

标签: unix

我有一个包含130万行和258列的文本文件,用分号(;)分隔。如何搜索文件中的字符,不包括字母表中的字母(大写和小写),分号(;),引号(')和双引号(“)?理想情况下,结果应该是非重复列表。

2 个答案:

答案 0 :(得分:2)

使用以下管道

# Remove the characters you want to exclude
tr -d 'A-Za-z;"'\' <file |
# One character on each line
sed 's/\(.\)/\1\
/g' | 
# Remove duplicates
sort -u

实施例

echo '2343abc34;ABC;;@$%"' | 
tr -d 'A-Za-z;"'\' |
sed 's/\(.\)/\1\
/g' | 
sort -u

$
%
2
3
4
@

答案 1 :(得分:0)

您可以使用grep -v命令并将其管道进行排序,然后再使用uniq。