Это команда tabmergep, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
tabmerge - объединить файлы с разделителями на общих полях
СИНТАКСИС
tabmerge [действие] [параметры] файл1 файл2 [...]
Действия:
--min Принимать только поля, имеющиеся во всех файлах [ПО УМОЛЧАНИЮ]
--max Взять все поля, присутствующие
-f | --fields = f1 [, f2] Взять только поля, указанные в
список, разделенный запятыми
Опции:
-l | --list Список доступных полей
--fs = x Использовать "x" в качестве разделителя полей
(по умолчанию вкладка "\ t")
--rs = x Использовать "x" в качестве разделителя записей
(по умолчанию новая строка "\ n")
-s | --sort = f1 [, f2] Сортировка данных в формате ASCII-бет по полю (ям)
--stdout Печатать данные в исходном формате с разделителями
(т.е. не в формате таблицы)
--help Показать краткую справку и выйти
--man Показать полную документацию
ОПИСАНИЕ
Эта программа объединяет поля, а не строки текстовых файлов с разделителями. То есть, если
несколько файлов почти, но не совсем непохожи друг на друга по своей структуре (в
их имена полей, номера или порядок), этот скрипт позволяет легко унифицировать файлы
в один файл со всеми одинаковыми полями. Вывод может быть основан на определенных полях.
тремя флажками «действия».
В следующих примерах рассмотрим три файла, которые содержат следующие поля:
+ ------------ + --------------------------------- +
| Файл | Поля |
+ ------------ + --------------------------------- +
| merge1.tab | имя, тип, должность |
| merge2.tab | имя, тип, должность, lod_score |
| merge3.tab | имя, должность |
+ ------------ + --------------------------------- +
Чтобы перечислить все доступные поля в файлах и количество их присутствий:
$ tabmerge - слияние списков *
+ ----------- + ------------------- +
| Поле | Нет. Время присутствует |
+ ----------- + ------------------- +
| lod_score | 1 |
| имя | 3 |
| положение | 3 |
| тип | 2 |
+ ----------- + ------------------- +
Чтобы объединить файлы по минимальному количеству перекрывающихся полей:
$ tabmerge слияние *
+ ---------- + ---------- +
| имя | положение |
+ ---------- + ---------- +
| 104 ринггита | 2.30 |
| 105 ринггита | 4.5 |
| TX5509 | 10.4 |
| UU189 | 19.0 |
| XPSM122 | 3.3 |
| XPSR9556 | 4.5 |
| ДРТЛ | 2.30 |
| АЛТХ | 4.5 |
| DWRF | 10.4 |
+ ---------- + ---------- +
Чтобы объединить файлы и включить все поля:
$ tabmerge --max merge *
+ ----------- + ---------- + ---------- + -------- +
| lod_score | имя | положение | тип |
+ ----------- + ---------- + ---------- + -------- +
| | 104 ринггита | 2.30 | ПДРФ |
| | 105 ринггита | 4.5 | ПДРФ |
| | TX5509 | 10.4 | AFLP |
| 2.4 | UU189 | 19.0 | ССР |
| 1.2 | Xpsm122 | 3.3 | Маркер |
| 1.2 | Xpsr9556 | 4.5 | Маркер |
| | ДРТЛ | 2.30 | |
| | АЛТХ | 4.5 | |
| | DWRF | 10.4 | |
+ ----------- + ---------- + ---------- + -------- +
Чтобы объединить и извлечь только поля «имя» и «тип»:
$ tabmerge -f имя, введите слияние *
+ ---------- + -------- +
| имя | тип |
+ ---------- + -------- +
| 104 ринггита | ПДРФ |
| 105 ринггита | ПДРФ |
| ТХ5509 | АФЛП |
| UU189 | ССР |
| Xpsm122 | Маркер |
| Xpsr9556 | Маркер |
| ДРТЛ | |
| АЛТХ | |
| ДВРФ | |
+ ---------- + -------- +
Чтобы объединить файлы только в полях «name» и «lod_score» и отсортировать их по имени:
$ tabmerge -f имя, lod_score -s имя объединить *
+ ---------- + ----------- +
| имя | lod_score |
+ ---------- + ----------- +
| АЛТХ | |
| ДРТЛ | |
| ДВРФ | |
| 104 ринггита | |
| 105 ринггита | |
| ТХ5509 | |
| UU189 | 2.4 |
| XPSM122 | 1.2 |
| XPSR9556 | 1.2 |
+ ---------- + ----------- +
Чтобы сделать то же самое, но имитировать исходный ввод, разделенный табуляцией:
$ tabmerge -f имя, lod_score -s имя --stdout merge *
имя lod_score
AltX
ДРТЛ
ДВРФ
RM104
RM105
TX5509
UU189 2.4
Xpsm122 1.2
XPSR9556 1.2
Зачем вам это нужно? Предположим, у вас есть несколько текстовых файлов с разделителями,
ту же структуру и хотите создать из них только один файл, но поля могут быть в
разный порядок в каждом файле и / или некоторые файлы могут содержать больше или меньше полей, чем
другие. (Каким бы неправдоподобным это ни казалось, но с автором этого случается чаще, чем ему бы хотелось.)
Используйте tabmergep онлайн с помощью сервисов onworks.net