169 похожих чатов

Доброго времени суток! Есть тестовый файл вида: $ cat test Number: -10 Name: AAA ID:

425675
Number: -5
Name: BBB
ID: 191000
Number: -40
Name: CCC
ID: 200111
Number: -12
Name: DDD
ID: 100200

Пытаюсь отформатировать его к виду:

Number Name ID
-5 BBB 191000
-10 AAA 425675
-12 DDD 100200
-40 CCC 200111

В файле повторяются одни и те же строки в виде "ключ-значение". Возможно, стоит его разбить на части, например на хэши или массивы и работать с каждым хэшом или массивом по отдельности, но тут возникает трудность с сортировкой разных хэшей (или массивов) по одному полю - Number (когда сортируем числа в одном массиве или хэше все просто, но тут немного сложнее).

Подскажите, пожалуйста, как правильнее решать такую задачу?

10 ответов

17 просмотров

Все сложить в один хеш, отсортировать по значению ключа Number в обратном порядке как числа, сложить результат в выходной файл 🤷‍♂ Или просто построчный дамп в файл, потом sort -nrk 1

cat test | paste - - - | sort -nk2 | sed '...'

Alexander- Автор вопроса

Вот сложили мы содержимое файла в один хэш (допустим). Как привязать значение Number к Name, ID в рамках него?

Alexander- Автор вопроса
Alexander- Автор вопроса

Можно попробовать. У меня возникают сложности с разделением содержимого файла на части, т.е. на отдельные Number, Name, ID. Есть ли в Perl инструменты для определения какой по счету match или в какой строке файла по номеру match?

Alexander
Можно попробовать. У меня возникают сложности с ра...

Если у тебя структура файла жёстко задана и все поля всегда присутствуют, то тебе досточно просто дёргать три строки подряд, и их складывать в структуру

Alexander
Попробую так. Спасибо!

Если структура задана не жестко, тогда надо понимать, как отличить одну запись от другой. И тогда уже проще на перле.

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

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта