![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Проверка на наличие определенных символов
Может кто поможет со следующими запрос .. У меня есть файл в следующем формате:
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 не велика, просьба помочь. |
|
||||
|
Попробуйте это:
/ (^ A) | (^ B) / (NUM + +) END (если (NUM> 0); printf ( "% D случаев A, B существовать \ N", NUM);) Вы можете изменить вывода так, как вы хотите. |
|
||||
|
вроде как не могу получить выше работать не могли бы вы объяснить, пожалуйста, дальнейшее
|
|
||||
|
Привет Samz. Мне следовало бы более подробно.
Я не вложу перста моего в код скрипта, и он побежал с AWK. Код:
awk -f <script name> <file> |
|
||||
|
BTW, можно обойти сдачи его в сценарий.
Код:
awk '/(^A)|(^B)/ {num++} END {if(num > 0);printf("%d instances of A,B exist\n", num);}' column
|
|
||||
|
Ok вышеуказанные только скажите мне, сколько раз А или B, где есть. Мне требуется, чтобы отправить сообщение об ошибке, если C существует или иное его штрафом продолжить обработку файла .. надеюсь, что еще больше смысла
|
|
||||
|
Входной файл:
Код:
$ 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 Дайте нам знать, если вам нужно что-то в скрипте объяснил. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|