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

Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX перспективных И опытных пользователей
.
Google unix.com



UNIX перспективных И опытных пользователей Эксперт-на-экспертов. Узнайте современные UNIX, UNIX команды, Linux, операционные системы, системы управления, программирование, Shell, Shell скриптов, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
FTP проверки Усть Shell программирование и сценарии 0 07-10-2008 02:30 AM
КШ Проверка если строка 2 символов и не содержать цифры? developncode UNIX для чайников Вопросы И Ответы 1 04-08-2008 03:19 PM
EOF проверка ниже ramkrix Программирования высокого уровня 10 03-11-2008 01:43 AM
Проверка на PXE Маэстро @ Altiris SUN Solaris 5 05-25-2004 12:06 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 07-17-2008
SAMZ SAMZ is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 18
Проверка на наличие определенных символов

Может кто поможет со следующими запрос .. У меня есть файл в следующем формате:

ID .... VALUE
A001 .... 100
B002 .... 200
A004 .... 300
B006 .... 100
A997 .... 200
B776 .... 400

Он находится в колонке формат, но я хочу, чтобы проверить, что ID поле всегда начинается с A или B характера это моя логика до сих пор:


Если Характер 1 не соответствует A или B
тогда
дисплее сообщения об ошибке
еще
продолжать делать то, что вы хотите
FI

не знаете, как Чехия, что 1 из символов каждая строка не соответствует A или B
habe суду следующее Нет Обоснования инвестиций

Если [! grep '^ A' $ файл | |! grep '^ B' $ файла], затем
Версия для печати "ошибка"
еще
Версия для печати "работает"
FI

но выше, не работает, я считаю, что это логика моего понимания Unix не велика, просьба помочь.
Old 07-17-2008
phemanth24 phemanth24 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Место проведения: Хайдерабад, Индия
Сообщений: 14
Попробуйте это:

/ (^ A) | (^ B) / (NUM + +)
END (если (NUM> 0); printf ( "% D случаев A, B существовать \ N", NUM);)

Вы можете изменить вывода так, как вы хотите.
Old 07-17-2008
SAMZ SAMZ is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 18
вроде как не могу получить выше работать не могли бы вы объяснить, пожалуйста, дальнейшее
Old 07-17-2008
phemanth24 phemanth24 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Место проведения: Хайдерабад, Индия
Сообщений: 14
Привет Samz. Мне следовало бы более подробно.
Я не вложу перста моего в код скрипта, и он побежал с AWK.

Код:
awk -f <script name> <file>
В настоящее время он печатает число случаев А и B
Old 07-17-2008
phemanth24 phemanth24 is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Место проведения: Хайдерабад, Индия
Сообщений: 14
BTW, можно обойти сдачи его в сценарий.

Код:
awk '/(^A)|(^B)/ {num++} END {if(num > 0);printf("%d instances of A,B exist\n", num);}' column
'колонки' это файл, в котором я формат, указанный Вами.
Old 07-17-2008
SAMZ SAMZ is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 18
Цитата:
Первоначально Послано phemanth24 View Post
BTW, можно обойти сдачи его в сценарий.

Код:
awk '/(^A)|(^B)/ {num++} END {if(num > 0);printf("%d instances of A,B exist\n", num);}' column
'колонки' это файл, в котором я формат, указанный Вами.
Ok вышеуказанные только скажите мне, сколько раз А или B, где есть. Мне требуется, чтобы отправить сообщение об ошибке, если C существует или иное его штрафом продолжить обработку файла .. надеюсь, что еще больше смысла
Old 07-17-2008
Diabolist Diabolist is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2002
Сообщений: 44
Входной файл:

Код:
$ cat ttt
ID .... VALUE
-------------
A001 .... 100
C003 .... 800
B002 .... 200
corrupt
data
A004 .... 300
C003 .... 800
foo .... bar
Сценарий:
Код:
#!/bin/ksh

INPUT=ttt

{ while read LINE
do
  echo $LINE |egrep "^A|^B" > /dev/null 2>&1
  if [ $? -eq 0 ]
  then
    echo "Processing $LINE"
  else
    echo "Skipping $LINE"
  fi
done } < $INPUT
Вывод:
Код:
$ ./ttt.ksh
Skipping ID .... VALUE
Skipping -------------
Processing A001 .... 100
Skipping C003 .... 800
Processing B002 .... 200
Skipping corrupt
Skipping data
Processing A004 .... 300
Skipping C003 .... 800
Skipping foo .... bar
Можно сделать одну строку команд, с использованием AWK на соответствие шаблону, но я не уверен, каким образом вы хотите обработать линию после того, как вы подтвердите свое доброе ... так что это может предложить наибольшую гибкость.

Дайте нам знать, если вам нужно что-то в скрипте объяснил.
Closed Thread

Закладки

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

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

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

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




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