Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Sắp Xếp Dòng

Sắp xếp dòng theo bảng chữ cái A-Z, Z-A, theo độ dài, số tự nhiên, theo cột hay xáo trộn. Xóa dòng trùng lặp, cắt khoảng trắng. Miễn phí trên trình duyệt.

settings Settings

Về Công Cụ Sắp Xếp Dòng

Sắp Xếp Dòng là bộ sắp xếp dòng đa chiến lược với sáu chế độ sắp xếp và bốn bước tiền xử lý tùy chọn. Sáu chế độ là: A-Z bảng chữ cái (dùng String.prototype.localeCompare() cho thứ tự bảng chữ cái tự nhiên nhận biết dấu — 'á' sắp xếp giữa 'a' và 'b' thay vì sau 'z'), Z-A đảo ngược, độ dài tăng dần (sắp theo số ký tự qua String.length), độ dài giảm dần, sắp xếp Tự Nhiên (tùy chọn Intl.Collator với numeric:true sắp 'file2' trước 'file10' thay vì sau, khớp với cách Windows Explorer và trình quản lý file hiện đại sắp xếp), và Xáo Trộn ngẫu nhiên (thuật toán Fisher-Yates dùng Math.random() cho hoán vị không thiên vị). Tiền xử lý tùy chọn áp trước khi sắp: Xóa Khoảng Trắng cắt khoảng trắng đầu/cuối mỗi dòng qua String.trim(), Xóa Dòng Trống bỏ dòng rỗng hay chỉ có khoảng trắng, Xóa Trùng Lặp giữ chỉ lần xuất hiện đầu của mỗi dòng duy nhất, và Phân Biệt Hoa Thường bật/tắt xem 'Táo' và 'táo' có được coi khác không (mặc định tắt, nên chữ hoa được gập). Quy trình điển hình: sắp tên khách hàng chưa sắp xếp với xử lý đúng café và Müller, sắp tên file tự nhiên để v1.10 đến sau v1.9 chứ không phải sau v1.1, ngẫu nhiên hóa danh sách câu hỏi trivia hay bài hát playlist, dựng pipeline khử-trùng-và-sắp cho phân tích log, và sắp theo độ dài để tìm mục dài/ngắn nhất trong dataset.

Sắp xếp Tự Nhiên là gì và tại sao '10' đến sau '2' trong abc nhưng trước trong Tự Nhiên?

Sắp xếp abc so sánh chuỗi từng ký tự: '1' (code point 49) < '2' (code point 50), nên '10' được coi là bắt đầu bằng '1' và sắp trước '2'. Sắp xếp tự nhiên phát hiện chuỗi số nhúng và so sánh như số: trong '10' nó thấy mười, trong '2' nó thấy hai, và 2 < 10, nên '2' đi trước. Đây là điều con người mong đợi cho tên file (file2.txt trước file10.txt), chuỗi phiên bản (v1.9 trước v1.10), và địa chỉ (Phòng 2 trước Phòng 10). Cài qua Intl.Collator với {numeric: true, sensitivity: 'base'}, là chuẩn web hiện đại và xử lý chữ-số trộn lẫn đúng.

Phân biệt hoa thường thực sự hoạt động ra sao — còn ký tự có dấu như 'café' thì sao?

Khi Phân Biệt Hoa Thường TẮT (mặc định), bộ sắp dùng gập case nhận biết ngôn ngữ qua localeCompare với sensitivity: 'base' — nên 'Apple', 'APPLE', và 'apple' đều sắp như nhau, và dấu như 'café' so với 'cafe' cũng gập về cùng khóa. Khi Phân Biệt Hoa Thường BẬT, chữ hoa (code points 65-90) sắp trước chữ thường (97-122), nên 'Zebra' đến trước 'apple'. Cho tiếng Việt có dấu đầy đủ (à, ả, ã, á, ạ) chế độ gập dấu coi tất cả năm biến thể 'a' là tương đương để sắp; chế độ dấu nghiêm (không lộ trong UI) sẽ giữ chúng khác biệt. Để giữ thứ tự dấu tiếng Việt nghiêm, sắp bên ngoài với locale='vi'.

Khác biệt giữa công cụ này và `sort` Unix là gì?

Unix `sort` là tiêu chuẩn vàng CLI và hỗ trợ nhiều flag hơn (--field-separator, --key, --month-of-year, --human-numeric), xử lý file lớn tùy ý qua external merge sort, và nhanh hơn trên đầu vào nhiều gigabyte. Công cụ này cung cấp 80% trường hợp sử dụng phổ biến nhất (abc, đảo ngược, tự nhiên, độ dài, ngẫu nhiên, dedupe) trong UI trình duyệt không cần cài đặt. Cho sắp xếp một lần của danh sách dán từ email hay Excel, trình duyệt nhanh hơn (không cần lưu file). Cho file log 10 GB, dùng `sort` hay `sort -V` (sắp phiên bản, tương tự tự nhiên). Phiên bản trình duyệt cũng nhận biết ngôn ngữ ngay từ đầu — `sort` mặc định là bytewise trừ khi đặt LC_ALL=vi_VN.UTF-8.

Theo thứ tự nào nó áp Cắt, Xóa Trống, Xóa Trùng và sắp xếp thực tế?

Pipeline là: 1) Xóa Khoảng Trắng, 2) Xóa Dòng Trống, 3) Xóa Trùng Lặp, 4) Sắp Xếp. Thứ tự này quan trọng. Cắt trước nghĩa là ' táo' và 'táo' được nhận là cùng nhau, nên dedupe có thể khớp chúng. Xóa trống tiếp theo giữ chúng khỏi kết quả và khỏi số đếm trùng lặp. Dedupe hoạt động trên TOÀN BỘ dòng (không phải khóa/cột), giữ lần xuất hiện đầu của mỗi dòng duy nhất. Sắp xếp ở cuối. Các ô thống kê phản ánh từng giai đoạn: Tổng Số Dòng = đầu vào thô, Đã Xóa Trống = dòng rỗng bị loại, Đã Xóa Trùng = dòng lặp bị loại, Dòng Đã Sắp Xếp = kết quả cuối. Array.sort ổn định trong các engine hiện đại (V8, SpiderMonkey, JavaScriptCore), nên khi hai khóa bằng nhau — thường gặp khi sắp theo cột — các dòng giữ nguyên thứ tự tương đối ban đầu, điều quan trọng khi cần bảo toàn thứ tự phụ.

Sắp Xếp Dòng — Sắp xếp dòng theo bảng chữ cái A-Z, Z-A, theo độ dài, số tự nhiên, theo cột hay xáo trộn. Xóa dòng trùng lặp, cắt khoảng
Sắp Xếp Dòng

Làm sao sắp xếp theo một cột hay trường cụ thể thay vì toàn bộ dòng?

Bật 'Sắp xếp theo cột/trường', chọn dấu phân cách (dấu phẩy cho CSV, tab cho TSV, dấu chấm phẩy, dấu sổ đứng, hay khoảng trắng cho dòng log) và đặt số thứ tự cột (bắt đầu từ 1). Đây là phiên bản trình duyệt của `sort -t, -k2` trong Unix — nó sắp mỗi hàng theo trường đã chọn trong khi giữ nguyên toàn bộ dòng gốc trong kết quả. Ví dụ: với 'Smith,John,42' dùng dấu phẩy và cột 2, các hàng sắp theo tên (John). Nó kết hợp với mọi chế độ: abc, đảo ngược, tự nhiên (nên giá trị cột như v1.9 và v1.10 sắp theo số) và độ dài. Dòng ngắn hơn cột yêu cầu được coi là khóa rỗng và sắp lên đầu (tăng dần). Lưu ý: Xóa Trùng Lặp vẫn so sánh TOÀN BỘ dòng chứ không chỉ khóa, nên hai hàng có cùng cột 2 nhưng cột khác khác nhau đều được giữ lại.

Khác biệt giữa đảo ngược, số học và tự nhiên là gì — và tôi có thể đảo dòng mà không sắp xếp không?

Đảo ngược (Z → A) là sắp xếp abc theo thứ tự giảm dần. Chế độ chỉ-số không tồn tại riêng ở đây — thay vào đó, sắp xếp Tự Nhiên xử lý số bên trong chuỗi: số thuần như '2', '10', '100' sắp 2 < 10 < 100 đúng như bạn mong, và chuỗi trộn như 'item2' trước 'item10' cũng hoạt động, vì Tự Nhiên so sánh các dãy chữ số nhúng như số qua Intl.Collator numeric:true. Abc thường (A → Z) so sánh mã ký tự, nên '10' sắp trước '2'. Để chỉ đảo ngược thứ tự dòng hiện có mà không sắp abc (lật trên xuống dưới), công cụ này không có công tắc đảo dòng thô; dùng Ngẫu Nhiên để xáo, hoặc dán các dòng đã đảo sẵn. Cho dữ liệu số thực sự, dùng Tự Nhiên.

Xáo Trộn Ngẫu Nhiên ngẫu nhiên đến mức nào — có an toàn mật mã không?

Nó dùng thuật toán xáo trộn Fisher-Yates với Math.random() làm nguồn ngẫu nhiên. Điều này tạo hoán vị đồng đều không thiên vị (mỗi trong số n! thứ tự có xác suất bằng nhau), về mặt toán học đúng cho xáo trộn thông thường. Tuy nhiên, Math.random() KHÔNG an toàn mật mã — nó là bộ tạo ngẫu nhiên giả định có thể đoán được nếu biết trạng thái nội bộ. Cho xáo trộn playlist, mục dự thi, trivia, hay trò chơi tiệc, hoàn toàn đủ. Cho trường hợp nhạy cảm bảo mật (xổ số, chọn bồi thẩm), dùng crypto.getRandomValues() trong script tùy chỉnh thay vào đó.

Công cụ xử lý đầu vào rất dài ra sao — mở rộng được tới 1 triệu dòng không?

Có, có lưu ý. Array.sort() của JavaScript là O(n log n) trung bình dùng TimSort trong Chrome/Edge/Firefox, nên 1 triệu dòng sắp trong khoảng 1-3 giây trên laptop hiện đại. Textarea trình duyệt trở thành nút cổ chai — dán 50+ MB văn bản có thể làm tê UI. Cho dataset trên 10 MB, ưu tiên `sort -u file.txt > out.txt` Unix chạy stream từ disk và xử lý file lớn tùy ý qua external merge sort. Bộ đếm 'Tổng Số Dòng' cho biết bạn có bao nhiêu dòng trước khi sắp, hữu ích để kiểm tra dán có hoạt động.

Sắp xếp có làm trong trình duyệt và văn bản của tôi có riêng tư không?

Có. Mọi sắp xếp chạy trong JavaScript qua Array.sort(), Intl.Collator, và Fisher-Yates — không fetch() lên server, không analytics chứa nội dung, không ghi localStorage. Mở DevTools Network và nhấp Sắp Xếp để xác minh 0 request ra ngoài. An toàn cho danh sách nhạy cảm như danh sách email khách, danh sách nhân viên, hostname nội bộ, đầu ra trình tạo mật khẩu, hay bất kỳ dữ liệu nào bạn không nên tải lên.