Bạn có thể sống với một chữ cái, sắp xếp danh sách:
echo "red apple
> green apple
> green apple
> orange
> orange
> orange
> " | sort -u
?
green apple
orange
red apple
hoặc
sort -u FILE
-u là viết tắt của độc đáo, và độc đáo chỉ đạt được thông qua phân loại.
Một giải pháp mà giữ gìn trật tự:
echo "red apple
green apple
green apple
orange
orange
orange
" | { old=""; while read line ; do if [[ $line != $old ]]; then echo $line; old=$line; fi ; done }
red apple
green apple
orange
và, với một tập tin
cat file | {
old=""
while read line
do
if [[ $line != $old ]]
then
echo $line
old=$line
fi
done }
cuối cùng hai chỉ loại bỏ bản sao, mà làm theo ngay lập tức - mà phù hợp với ví dụ của bạn.
echo "red apple
green apple
lila banana
green apple
" ...
Sẽ in hai quả táo, chia cho một quả chuối.
Nguồn
2011-06-22 22:53:22
không có cờ c hoặc d, uniq không phân biệt các dòng trùng lặp từ không trùng lặp hoặc tôi thiếu gì đó không? – drevicko