Решено: Хитрое объединение файлов
Модератор: Bizdelnick
-
suhanov
- Сообщения: 92
- ОС: RedHat 9; Ubuntu 6.06.1 LTS
Решено: Хитрое объединение файлов
Есть два текстовых файла с одинаковым количеством строк. Например, строка в первом: aaa bbb ccc, а строка во втором: ddd eee fff. Нужно сделать третий файл, который бы состоял из такого же количества строк, но объединённых из первого и второго файла, т.е. на выходе строка должна состоять из следующего: aaa bbb ccc ddd eee fff. Как можно сие провернуть?
-
csx
- Сообщения: 302
- Статус: Сыч Домовый
- ОС: Что сломалось, то и чиним...
Re: Решено: Хитрое объединение файлов
Коряво, но просто и наглядно 
Код: Выделить всё
#!usr/bin/perl
$arg1 = $ARGV[0];
$arg2 = $ARGV[1];
$cnt = 0;
open F, $arg1;
@file1 = <F>;
close F;
open F, $arg2;
@file2 = <F>;
close F;
foreach $line (@file1) {
$line =~ s/\n/ /;
print $line;
print $file2[$cnt];
$cnt++;
};Код: Выделить всё
#perl cont.pl fle1.txt file2.txt > otufile.txt-- Как называется болезнь когда всё время по телефону разговариваешь?
-- Техподдержка...
-- Техподдержка...
-
Egan
- Сообщения: 247
Re: Решено: Хитрое объединение файлов
А почему не просто:
paste файл1 файл2 > новый_файл
paste файл1 файл2 > новый_файл
-
csx
- Сообщения: 302
- Статус: Сыч Домовый
- ОС: Что сломалось, то и чиним...
Re: Решено: Хитрое объединение файлов
2 Egan
А!.... Да?... Хм.... 
-- Как называется болезнь когда всё время по телефону разговариваешь?
-- Техподдержка...
-- Техподдержка...
-
pzp-5
- Сообщения: 558
- Статус: Главный модератор "Пингвинария" на Лафоксе.
Re: Решено: Хитрое объединение файлов
Супер!!!
Спасибо за простое решение.
Век живи - век учись (так и помрешь старым дураком учеником).
А я на баше "наваял":
Код: Выделить всё
#!/bin/bash
# string_plus.sh - построчное ссклеивание двух текстовых файлов
# Использование: string_plus.sh file1 file2
# Подсчитываем количества строк в первом файле:
LONG=$(cat "$1" | wc -l)
# Обнуляем счетчик строк:
NUM=0
# Обнуляем выходной файл:
echo > OUT_FILE.txt
# Пока не дошли до конца файла, выполняем:
until [ "$NUM" -gt "$LONG" ] ; do
# Увеличиваем номер счетчика:
let NUM=NUM+1
# Выдергиваем из файлов строки под номером $NUM и добавляем склеенную строку в выходной файл:
echo "$(sed -n "$NUM"p "$1") $(sed -n "$NUM"p "$2")" >> OUT_FILE.txt
doneУгадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?