The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
удаление дубликатов stevie_velvet Shell программирование и сценарии 5 07-07-2008 08:42 AM
удалить ноль risshanth UNIX для чайников Вопросы И Ответы 0 02-08-2008 06:51 AM
удаление дубликатов и сортировки-K orahi001 UNIX для чайников Вопросы И Ответы 3 01-25-2008 09:59 AM
Осушительные ведущими пробелами справа оправдано название Марсия С UNIX для чайников Вопросы И Ответы 2 02-28-2006 10:32 PM
Удаление дубликатов giannicello Shell программирование и сценарии 12 09-14-2005 07:12 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 03-18-2009
crazyhpux crazyhpux is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 14
Добавление ноль с вправо и удаление дубликатов

Привет всем. Я надеюсь, кто-то может помочь мне здесь. Я имею 2 файлов. Выглядит это примерно так:

Файл 1:

ABC1, defg, 50.00, MnO, 990
abc2, кошек, 100.00, СОЗ, 991
abc3, собаки, 1.00, лечения, 992


Файл 2:

990, самолетов и взлетно-посадочных полос, доктор
991, самолеты, птицы, много
990 * самолеты, взлетно-посадочная полоса, доктор
992, легковых автомобилей, Ford, Toyota

Вот что я хотел бы сделать:

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

2. В файле 2, все дубликаты должны быть удалены. Как 990 * самолетах

3. После файла 1 и 2 сделал, а затем присоединиться к ним с помощью ключа в столбце 5 в 1 файле и столбце 1 в файл 2.

Если вам нужно больше разъяснений, дайте мне знать. Я ценю это в значительной степени, если кто-то может помочь мне. Спасибо.
Old 03-18-2009
crazyhpux crazyhpux is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 14
Кстати, окончательный файл будет что-то вроде этого:

ABC1, defg, 000050,00, MnO, 990, самолетов и взлетно-посадочных полос, доктор
abc2, кошки, 000100,00, СОЗ, 991, самолеты, птицы, много
abc3, собаки, 000001,00, лечения, 992, легковых автомобилей, Ford, Toyota

за номер 3, я предполагаю использовать команду присоединиться?
Old 03-18-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Ведущий (преподаватель)
  
 

Регистрация: Jun 2008
Место проведения: Индия
Сообщения: 1400
Цитата:
Первоначально Послано crazyhpux View Post
Кстати, окончательный файл будет что-то вроде этого:

ABC1, defg, 000050,00, MnO, 990, самолетов и взлетно-посадочных полос, доктор
abc2, кошки, 000100,00, СОЗ, 991, самолеты, птицы, много
abc3, собаки, 000001,00, лечения, 992, легковых автомобилей, Ford, Toyota

за номер 3, я предполагаю использовать команду присоединиться?
Ваш первый файл может быть организована таким образом,
Код:
 
awk -F, '{printf "%s,%s,%09.2f,%s,%s\n",$1,$2,$3,$4,$5}' filename
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2007
Месторасположение: Пекин Китай
Сообщения: 1088
Привет, надежда ниже, могут помочь вам.
Но на самом деле не знаю, как многие ведущие '0 'вы ожидаете.

Код:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
Old 03-19-2009
crazyhpux crazyhpux is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 14
Цитата:
Первоначально Послано summer_cherry View Post
Привет, надежда ниже, могут помочь вам.
Но на самом деле не знаю, как многие ведущие '0 'вы ожидаете.

Код:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
благодарю Вас за ответ до сих пор. В поле будет 9 цифр. Поэтому она будет отличаться от того, сколько нулевой имеют место. Попытка сделать это выглядит так:

000000000
000000100
000000090
000001100
000012000

В последние 2 цифры представляют центов. Пример 5.50 будет 000000550
Old 03-19-2009
rikxik's Avatar
rikxik rikxik is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2007
Сообщений: 250
Код:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'
Old 03-20-2009
crazyhpux crazyhpux is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2009
Сообщений: 14
Цитата:
Первоначально Послано rikxik View Post
Код:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'
бы вы были так добры объяснить код немного для меня. Спасибо за вашу помощь.
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 01:26 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0