Сортування файлу контрольних сум за назвою файлу


2

Я намагаюся сортувати вихідну md5sumпрограму за назвою файлу, чисельно (тобто імена файлів відповідають усім log-\d+\.txt). я намагався

sort -g "-t " -k 2 CHECKSUMS

але сортується за контрольною сумою. Використання

sort "-t " -k 2 CHECKSUMS

сортує за назвою файлу, але log-12.txtрозміщується перед log-2.txt.

Будь-які підказки? Дякую!

Відповіді:


2

спробуйте це:

$> sort -t '-' -k 2 -n CHECKSUMS

він розбиває рядок d41d8cd98f00b204e9800998ecf8427e log-1.txtна -... так що число є першим рядком, який дозволяє sortзробити правильно (tm).


Що робити, якщо число тире не було однаковим у кожному файлі (наприклад a-1, a-2, a-a-1, b-1, b-a-a-1, b-a-b-1, b-a-b-2, ...)? Чи є спосіб сказати сорту, щоб почати числове порівняння, як тільки він знайде число в обох рядках, що порівнюються?
Клімент

використовуйте інші засоби (sed, awk, python, perl і т. д.), щоб витягти номер, поставити його перед іменем файлу, а потім використати сортування ...
akira

Гаразд, зробив це з awk.
Клімент
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.