|
Тема
|
обединяване на файлове
|
|
Автор | r1 (Нерегистриран) |
Публикувано | 18.08.05 01:25 |
|
още 1 въпрос :)
имам 2 файла - A и B със садържание съотвено (пример):
А:
;10;00;
;22;00;
;209;29;
В:
23;33;
93;3;
29;29;
как мога да ги обединя в С който да изглежда така:
С:
10;00;23;33;
22;00;93;3;
209;29;29;29;
мерси много!
| |
Тема
|
Re: обединяване на файлове
[re: r1]
|
|
Автор |
zuluz ($>=$<=0) |
Публикувано | 18.08.05 02:25 |
|
#!/usr/bin/perl
use strict;
my($file1, $file2) = @ARGV;
-f $file1 and -f $file2 or die "usage: file_1 file_2\n";
open my $f1, $file1 or die "can't open $file1: $!";
open my $f2, $file2 or die "can't open $file2: $!";
my @file1 = <$f1>;
my @file2 = <$f2>;
map{ chomp; s/^\W*(.+?)\s*$/$1/ }@file1,@file2;
map{ print$file1[$_],$file2[$_],$/ }0..@file1;
__END__
STDOUT results:
10;00;23;33;
22;00;93;3;
209;29;29;29;
#~
$_->[/^(?>(.)?(.)+.*)(?!\1)(??{print(($1..$2)[9,0,15,7])})/]
#~Редактирано от zuluz на 18.08.05 02:30.
| |
Тема
|
Re: обединяване на файлове
[re: zuluz]
|
|
Автор | g1 (Нерегистриран) |
Публикувано | 18.08.05 10:16 |
|
mersi, polezen si :)
imash i privurzanost kum perl mai :)
tui dali moje da se napravi i sus one liner? opitah s join az no ne se poluchi
| |
Тема
|
Re: обединяване на файлове
[re: r1]
|
|
Автор |
aquarin (void *) |
Публикувано | 18.08.05 10:21 |
|
cat file1.txt |cut -c2- file1.txt > file3.txt
paste -d '' file3.txt file2.txt
| |
Тема
|
Re: обединяване на файлове
[re: g1]
|
|
Автор |
zuluz ($>=$<=0) |
Публикувано | 18.08.05 16:12 |
|
moje da:
$ perl -ne 'chomp;$|?push@{_0},$_:push@{_1},$_;eof&&$|++;END{print$_1[$_],$_0[$_],$/for+0..@_0}' file1 file2
moje i "po-chetlivo":
$ perl -ne 'chomp;$|?push@{_0},$_:push@{_1},$_;eof&&$|++;END{$,=$?||map{print$_1[$,++],$_,$/}@_0}' file1 file2
ok?
#~
$_->[/^(?>(.)?(.)+.*)(?!\1)(??{print(($1..$2)[9,0,15,7])})/]
#~Редактирано от zuluz на 18.08.05 16:35.
| |
Тема
|
Re: обединяване на файлове
[re: zuluz]
|
|
Автор | level 9 (Нерегистриран) |
Публикувано | 20.08.05 20:46 |
|
a zashto ne:
perl -ne
'chomp;push@{($|?"_0":"_1")},$_;eof&&$|++;END{$,=$?||map{print$_1[$-++],$_,$/}@_0}'
file1 file2
| |
Тема
|
Re: обединяване на файлове
[re: level 9]
|
|
Автор | level 9 (Нерегистриран) |
Публикувано | 22.08.05 19:44 |
|
# neshto, koeto ne e moe:
# join programata v one-liner:
perl -lne'$a[$.].=$_;$.=0if eof}{print for@a' file1 file2
| |
|
|
|
|