[РЕШЕНО]bash. Парное построчное чтение файлов

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

vipermagi
Сообщения: 83
ОС: AgiliaLinux

[РЕШЕНО]bash. Парное построчное чтение файлов

Сообщение vipermagi » 18.03.2014 20:33

В одном файле лежит список из названий серий. В другом - список соответствующих магнитных ссылок на эти серии.
Нужно из каждой соответствующей пары строк слепить нечто вот такое:

Код: Выделить всё

[url="magnet:?xt=urn:tree:tiger:MDPGD6CSQDACLPE2ADUQ3PO7YPRQYQIDQK6PVCA&xl=412983296&dn=CoolAnime%5b01"].avi]01. Episode Name[/url]


В интернетах повсюду примеры для обработки одного файла, типа:

Код: Выделить всё

cat $1 | while read line
do
 ehco $line
done


Как сделать такое же, только чтобы в итерацию прочитывало в первую переменую строку одного файла, а во вторую переменную с тем же номером строку другого?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 16110
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: [РЕШЕНО]bash. Парное построчное чтение файлов

Сообщение Bizdelnick » 18.03.2014 20:54

vipermagi писал(а):
18.03.2014 20:33

Код: Выделить всё

[url="http://magnet:?xt=urn:tree:tiger:MDPGD6CSQDACLPE2ADUQ3PO7YPRQYQIDQK6PVCA&xl=412983296&dn=CoolAnime%5b01"].avi]01. Episode Name[/url]

Ссылка невалидная. http:// тут быть не должно.
Приведите примеры строк в первом и втором файле.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4679
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: [РЕШЕНО]bash. Парное построчное чтение файлов

Сообщение SLEDopit » 18.03.2014 21:09

Проще всего реализовать через paste. Что нибудь типа

Код: Выделить всё

paste file1 fil2 | while read var var2 ; do ... ; done
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:

vipermagi
Сообщения: 83
ОС: AgiliaLinux

Re: [РЕШЕНО]bash. Парное построчное чтение файлов

Сообщение vipermagi » 18.03.2014 22:10

Bizdelnick писал(а):
18.03.2014 20:54
Ссылка невалидная. http:// тут быть не должно.

http:// само приписалось.

SLEDopit писал(а):
18.03.2014 21:09
Проще всего реализовать через paste. Что нибудь типа

Код: Выделить всё

paste file1 fil2 | while read var var2 ; do ... ; done


Во, то, что надо! А то понять не мог, как оно читает кого в какой аргумент.

Код: Выделить всё

#!/bin/sh

paste $1 $2 | while read magnet name;
do
 echo \[url=$magnet\]$name\[/url\] >> $3;
done


дало нужный результат.
Спасибо сказали: