The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Порядковый номер поколения по одному из ключевых столбцов sbasetty Shell программирование и сценарии 6 03-27-2008 12:09 PM
Сортировка в Unix с использованием число столбцов шлепок UNIX перспективных И опытных пользователей 1 11-15-2007 06:59 AM
Определение количества столбцов pondlife Shell программирование и сценарии 2 09-28-2007 10:43 AM
Возвращение число столбцов scriptingmani Shell программирование и сценарии 2 07-06-2007 09:36 PM
AWK выбрать столбец из частности номером mab_arif16 Shell программирование и сценарии 4 05-08-2006 05:26 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 03-15-2008
jkl_jkl jkl_jkl is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2007
Сообщений: 46
колонке число, AWK, помогите

Все,

Код:
$ cat myf.txt
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn

I am searching "xyz"

$ awk -F "|" '
{for(k=0;k<=NF;k++)
if ( $k == "xyz" )
print "line="NR"(column="k")"
}' myf.txt

Output:
line=1(column=2)
line=2(column=3)
line=4(column=2)


I want to see the output as :

line=1(column=2)
line=2(column=3)
line=3(Not found)
line=4(column=2)
HTH,
jkl_jkl
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4307
Оно должно быть так:

Код:
awk -F "|" '
{found=0}
{for(k=0;k<=NF;k++)
   if( $k == "xyz" ){
     print "line="NR"(column="k")"
     found=1
   }
}
!found{print "line="NR" (not found)"}
' myf
Привет
Old 03-15-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Регистрация: Февраль 2006
Место проведения: Альмерия ", Испания
Сообщений: 393
Проверьте таким образом:
Код:
> cat file
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn
Код:
>  awk '{printf("%s","line="NR);a=gsub(/\|/,"",$1);if (a==3){print "(Not Found)";next}print "(column="a+1")"}' FS='xyz' file
line=1(column=2)
line=2(column=3)
line=3(Not Found)
line=4(column=2)
Closed Thread

Закладки

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

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

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

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




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


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