Bash — инвертирующий вывод MD5 в текстовом файле и сортировке

У меня есть file1.txt со списком MD5sums и соответствующих имен файлов.

edad74614d6d3fa2252c3d74ff037ac7  wp-blog-header.php
de4edc0df80ba147ebcc26f9e0a8b96f  wp-config.php
68070de41736e57f8757648a80b9cbbb  wp-admin/upgrade-functions.php
29b6a5c82153f1371e1188ffa7b47619  wp-admin/error_log
55373449cc2320c57803f1f5b52b9ce9  wp-admin/edit.php

Как делают я вывожу это к file2.txt со строками, запускающимися с имен файлов вместо хеша и вида в алфавитном порядке как такой:

wp-blog-header.php  edad74614d6d3fa2252c3d74ff037ac7
wp-config.php  de4edc0df80ba147ebcc26f9e0a8b96f
wp-admin/edit.php  55373449cc2320c57803f1f5b52b9ce9
wp-admin/error_log  29b6a5c82153f1371e1188ffa7b47619
wp-admin/upgrade-functions.php  68070de41736e57f8757648a80b9cbbb

Спасибо так, так!

1
задан 9 February 2018 в 09:42

2 ответа

Если Ваша цель состоит в том, чтобы отсортировать текстовый файл на основе определенных столбцов, Вы не должны изменять порядок столбцов, если Вы используете -k опция GNU sort. Только к виду на основе 2-го и последующего (разграниченный пробел) использование столбцов:

sort -k 2

Дополнительно я советую Вам использовать C или POSIX локаль сопоставления, чтобы выдержать сравнение и отсортировать пути или можно получить неожиданные результаты из-за нечувствительности к регистру или специальных символов:

LC_COLLATE=POSIX sort ...
2
ответ дан 7 December 2019 в 13:26

Как насчет:

awk '{ print $2, $1 }' < file | sort > file2

Это возьмет данные из файла, названного 'файлом', подкачает эти два поля и отсортирует их в файл 'file2'

0
ответ дан 7 December 2019 в 13:26

Другие вопросы по тегам:

Похожие вопросы: