2013-03-20 41 views

Trả lời

10

Làm thế nào về:

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

Bạn có thể sử dụng sed như sau:

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

Tại sao nhân vật không được thay thế với null + dòng mới? Ý tôi là họ vẫn còn đó. Thay vì '\ 0', người ta cũng có thể sử dụng' & 'được bao gồm trong sách hướng dẫn sed. '&' tham chiếu toàn bộ phần được so khớp của không gian mẫu. Điều này hoạt động tương tự: 'sed 's /./& \ n/g' input.txt | sắp xếp -u' – siulkilulki

3

Một cách sử dụng grep -o . để đưa từng nhân vật trên một dòng mới và sort -u để loại bỏ các bản sao:

$ grep -o . file | sort -u 

Hoặc một giải pháp mà không cần sort -u hoặc nhiều lệnh bằng văn bản thuần túy trong awk:

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

Một cách awk:

awk '{$1=$1}1' FS="" OFS="\n" file | sort -u 
Các vấn đề liên quan