![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Как объединить эти два файла? | Fedora | Shell программирование и сценарии | 3 | 02-12-2008 06:45 PM |
| объединить файлы | koti_rama | Shell программирование и сценарии | 5 | 12-24-2007 10:59 PM |
| Использование СЭД над кошкой объединить файлы | miwinter | UNIX перспективных И опытных пользователей | 2 | 11-28-2007 01:36 PM |
| Как объединить файлы | lestat_ecuador | Shell программирование и сценарии | 3 | 06-07-2007 07:45 AM |
| помощь в объединении файлов | u263066 | Shell программирование и сценарии | 5 | 07-24-2006 04:24 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как объединить и добавить?? Два Файлы
Извините Noob здесь ......
Я имею 2 файла, как это: Файл A 8080000001 400 8080000002 300 8080000003 200 Файл B 8080000001 600 8080000002 200 8080000004 200 Я хочу один файл, в котором Файл OUT 8080000001 1000 8080000002 500 8080000003 200 8080000004 200 Я признателен за любую помощь в этом. Спасибо |
|
||||
|
Не размещайте вопросы, не пытаясь решить проблему самостоятельно на основе взаимопонимания.
Пожалуйста, прочтите Простые правила поведения UNIX.COM форумы: перед публикацией, особенно в 5 и 6. |
|
||||
|
начать с этого:
Код:
awk ' FILENAME=="fileb" {arr[$1]+=$2}
FILENAME=="filea" {arr{$1]+=$2}
END{for (i in arr {print i, arr[i] } ' filea fileb > filec
|
|
||||
|
Как насчет ..
Код:
awk '{a[$1]+=$2}END{for(i in a) print i, a[i]}' file1 file2 file3 .... fileX > output_file
|
|
||||
|
AWK:
Код:
nawk '{
if(NR==FNR)
arr[$1]=$2
else
arr[$1]+=$2
}
END{
for(i in arr)
print i" "arr[i]
}' a b
Код:
open(FH,"<a");
while(<FH>){
$_=~tr/\n//d;
@arr=split(" ",$_);
$hash{$arr[0]}=$arr[1];
}
close(FH);
open(FH1,"<b");
while(<FH1>){
$_=~tr/\n//d;
@arr=split(" ",$_);
$hash{$arr[0]}+=$arr[1];
}
close(FH1);
for $key (sort keys %hash){
print $key," ",$hash{$key},"\n";
}
|
|
||||
|
Привет,
Я имею 2 файлов и хотите группе 1 и 2 колонки, используя Perl Код:
File A SGD 8080000001 400 USD 8080000002 300 HK 8080000003 200 File B SGD 8080000001 600 SGD 8080000002 200 HK 8080000004 200 I want one file where File OUT SGD 8080000001 1000 USD 8080000002 300 SGD 8080000002 200 HK 8080000003 200 HK 8080000004 200 Акил |
|
||||
|
Цитата:
Код:
awk '{a[$1 FS $2]+=$3}END{for(i in a) print i, a[i]}' file1 file2 file3 .... fileX> output_file
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|