The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
объединить два файла koti_rama Shell программирование и сценарии 5 08-05-2008 05:20 AM
Присоединяйтесь двух файлов koti_rama Shell программирование и сценарии 4 06-10-2008 07:15 AM
Как объединить файлы jxh461 UNIX для чайников Вопросы И Ответы 5 08-23-2007 08:11 AM
объединить файлы mohan705 Shell программирование и сценарии 3 03-15-2007 06:51 AM
Присоединяйтесь Файлы choppas Shell программирование и сценарии 2 10-18-2006 11:03 AM

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 05-27-2009
вершина pinnacle is offline
Зарегистрированный пользователь
  
 

Регистрация: Апрель 2009
Сообщений: 182
Левая объединить файлы, используя AWK

Цитата:
File_A:
NY
NJ
ПА
CA
В.А.
Т.Н.
Цитата:
File_B:
NY привет
NJ 3
CA 1
В. А. 5
Цитата:
ouptut:
NY, Наиденно
Нью-Джерси, Наиденно
ПА
CA, Наиденно
В.А., Наиденно
Т.Н.,

Код:
nawk 'NR==FNR{a[$1];next} {if($1 in a) print $1,"Found" else print}'  OFS="," File_B File_A

Приведенный выше код не работает, справка оценили
Old 05-27-2009
tonan tonan is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 11
так это просто, вам не хватает на синтаксис

nawk 'NR \u003d\u003d ПЧН (A [$ 1];) (следующем случае ($ 1, в) печать $ 1, "Найдено"; печати)' ФУСШ \u003d "," File_B File_A

----- ----- Обновление темы

образец вывода

Баш-3.00 $ nawk 'NR \u003d\u003d ПЧН (A [$ 1];) (следующем случае ($ 1, в) печать $ 1, "Найдено"; печати)' ФУСШ \u003d "," File_B File_A
NY, Наиденно
NY
Нью-Джерси, Наиденно
NJ
ПА
CA, Наиденно
CA
В.А., Наиденно
В.А.
Т.Н.
Old 05-27-2009
вершина pinnacle is offline
Зарегистрированный пользователь
  
 

Регистрация: Апрель 2009
Сообщений: 182
Цитата:
Первоначально Послано tonan View Post
так это просто, вам не хватает на синтаксис

nawk 'NR \u003d\u003d ПЧН (A [$ 1];) (следующем случае ($ 1, в) печать $ 1, "Найдено"; печати)' ФУСШ \u003d "," File_B File_A

----- ----- Обновление темы

образец вывода

Баш-3.00 $ nawk 'NR \u003d\u003d ПЧН (A [$ 1];) (следующем случае ($ 1, в) печать $ 1, "Найдено"; печати)' ФУСШ \u003d "," File_B File_A
NY, Наиденно
NY
Нью-Джерси, Наиденно
NJ
ПА
CA, Наиденно
CA
В.А., Наиденно
В.А.
Т.Н.

Это не выход Я ищу. см. требует вывода
Old 05-27-2009
devtakh devtakh is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Место проведения: Бангалор
Сообщений: 514

Код:
awk 'FNR==NR{a[$1]++;next}{if($1 in a)print $1,"Found"; else printf("%s%s\n", $1,OFS)}' OFS="," B A


-Devaraj Takhellambam
Old 05-27-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
наркоман
  
 

Регистрация: Январь 2007
Местоположение: Варна, България / Милан, Италия
Сообщения: 2926
Или (использование остолоп, nawk или /usr/xpg4/bin/awk на Solaris)


Код:
awk 'NR == FNR { _[$1]; next }
($2 = $1 in _ ? "Found" : x) || 1
' OFS=, file_b file_a


Последний раз редактировалось radoulov; на 05-27-2009 02:54 PM..
Old 05-27-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2557
Если у вас есть Python, альтернатива

Код:
#!/usr/bin/env python
file2=[i.split()[0] for i in open("file2").read().split("\n")]
for line in open("file1"):
    line=line.strip().split()
    if line[0] in file2:
        print line[0]," found"
    else:
        print line[0],","

производства

Код:
# ./test.py
NY  found
NJ  found
PA ,
CA  found
VA  found
TN ,

Old 05-27-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Апрель 2009
Сообщений: 552
Цитата:
...
ouptut:
NY, Наиденно
Нью-Джерси, Наиденно
ПА
CA, Наиденно
В.А., Наиденно
Т.Н.,
...
А если у вас есть Perl, То:


Код:
perl -ne 'BEGIN{open(F,"fileb"); while(<F>){split;$found{$_[0]}="Found"} close(F)} {chomp; print "$_,$found{$_}\n"}' filea

Тест:


Код:
$
$ cat filea
NY
NJ
PA
CA
VA
TN
$
$ cat fileb
NY hello
NJ 3
CA 1
VA 5
$
$ perl -ne 'BEGIN{open(F,"fileb"); while(<F>){split;$found{$_[0]}="Found"} close(F)} {chomp; print "$_,$found{$_}\n"}' filea
NY,Found
NJ,Found
PA,
CA,Found
VA,Found
TN,
$

tyler_durden
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 07:46 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