Điểm:1

Cách đếm số dòng giống nhau liên tiếp

lá cờ in

Tôi có một tập tin trông như thế này:

2000
2000
2001
2001
2001
2001
2002
2002

Tôi cần một kịch bản để cho tôi thấy điều này:

2000 - 2
2001 - 4
2002 - 2

Tôi thích sử dụng sed hoặc awk hơn

lá cờ hr
Điều này nghe có vẻ chính xác như những gì `uniq -c` được phát minh cho ...
Joe Jobs avatar
lá cờ in
Oh tốt đẹp tôi đã không biết điều đó. Cảm ơn!
bac0n avatar
lá cờ cn
`tệp uniq -c | sed -rn 's/ *([0-9]+) (.*)/\2 - \1/p'`
Điểm:1
lá cờ cn

Đây chính xác là những gì uniq -c làm. Từ người đàn ông duy nhất:

SỰ MIÊU TẢ

Lọc các dòng khớp liền kề từ INPUT (hoặc đầu vào tiêu chuẩn), ghi vào OUTPUT (hoặc đầu ra tiêu chuẩn).

[ . . . ]

-c, --count
        theo số lần xuất hiện

Vì vậy, với ví dụ của bạn, chúng tôi nhận được:

tệp $ uniq -c
      2 2000
      4 2001
      2 2002

Bạn cũng có thể viết một kịch bản nhỏ nếu bạn thích vì lý do nào đó. Ví dụ, với awk:

$ awk '{ đếm[$0]++ } END{ cho (đếm dòng){ in dòng, đếm[dòng] }}' tệp 
2000 2
2001 4
2002 2

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.