Слияние нескольких файлов строкой

URL также сохраняется где-нибудь при сохранении веб-страницы?

Если Ваш браузер не вставил его в заголовок или что-то, нет. Это, вероятно, не будет на самой странице - и если это, кажется, нет никакой гарантии, это точно, или, так как там не вероятно никакая потребность или цель к нему в разметке.

2
13.04.2017, 15:36
3 ответа

Вот расширение более простого случая, с которым вы связались, используя массив в awk

$ awk 'BEGIN{OFS="\t"} NR==FNR {a[$1]=$1;next;} \
    $1 in a {k=$1;$1="";a[k]=a[k]$0} END{for (i in a) print a[i]}' File3 File1 File2
AC      456324  DDDEE   YYUKI
DC      689712  AABBC   TTYJU

В отличие от join, он не требует предварительной сортировки файлов в ключевом поле.

3
27.01.2020, 21:52

Вы можете сделать это правильно с помощью команды join .

$ join -j 1 <(sort file3) <(sort file1) > tmp ; \
    join -j 1 <(sort tmp) <(sort file2) | sed 's/ /\t/g' > file4
  • Я сначала использую join для file3 и file1 , поскольку file3 имеет ключи.
  • Теперь я записываю вывод вышеприведенной команды в tmp и снова выполняю соединение для tmp и file2 .
  • Теперь, согласно приведенной выше команде, вывод будет в формате с разделителями-пробелами.
  • Поскольку вам нужен формат с разделителями табуляции, я передал это в команду sed , которая заменяет все пробелы табуляцией.
  • Наконец, я записываю его в file4 в соответствии с вашими требованиями.
3
27.01.2020, 21:52

Если под «простым» вы имеете в виду, что вам не нужно писать много кода, их много таких инструментов, как csvkit или csvfix , которые могут вам в этом помочь - в частности, взгляните на подкоманды "join", которые они предоставляют.

Но если вы имели в виду, что он не должен иметь никаких дополнительных требований, я не думаю, что есть «простой» способ. По крайней мере, это определенно не будет однострочным.

Кроме того, это не та проблема, которую я бы попытался решить, используя только bash плюс стандартные утилиты Unix. На мой взгляд, для таких вещей у вас все хорошо с Python, особенно если проблема становится более сложной.

1
27.01.2020, 21:52

Теги

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