The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
преобразованию многострочном запись в одну строку anju Shell программирование и сценарии 9 01-14-2008 07:55 AM
добавить пространства для первой линии основаны на втором отчете. ammu Shell программирование и сценарии 2 11-16-2007 03:35 AM
Найти символ в первой строке запись bsandeep_80 Shell программирование и сценарии 14 07-26-2007 12:04 PM
Показаны дополнительные записи / линия srivsn Файловые системы, диски и память 1 05-06-2006 10:35 AM
Как извлечь последнюю строку в отчете bjorb Shell программирование и сценарии 7 10-18-2005 03:12 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 06-05-2008
PacificWonder PacificWonder is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 10
AWK, - если последняя строка / запись сделать что-нибудь

Привет:

Я пытаюсь выполнить определенные действия, если текущая запись последней строке входного файла. Но я не могу понять, как определить, в последней строке файла в AWK.

Мне нужно сделать что-то вроде этого:
AWK '(если (lastline \u003d\u003d NR) сделать что-нибудь)' myfile.txt

Я пробовал в следующих Корн Shell скриптов.

lastRec \u003d `WC-л myfile.txt | AWK '(печати $ 1)'`
Версия для печати $ lastRec

AWK-V aLastRec \u003d "$ lastRec" (если (NR \u003d\u003d $ aLastRec) Распечатать Н.Р. ": Это последняя запись!") '


Но я не мог получить признание lastRec $ или $ aLastRec.

Можете ли вы помочь?

Спасибо.
Old 06-05-2008
rubin's Avatar
Рубин rubin is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 321
Вы можете использовать END заявление для доступа к последней записи в файл:

Код:
awk  'END{ print "this is the last line :  ", $0, "  | and NR  is -> " NR, "do something else here..." }' myfile.txt
И не используйте знак $ внутри AWK:

Код:
lastRec=`awk 'END{print NR}' myfile.txt`

awk -v aLastRec="$lastRec" '{if (NR == aLastRec) ... }' myfile.txt
Old 06-05-2008
PacificWonder PacificWonder is offline
Зарегистрированный пользователь
  
 

Регистрация: Jun 2008
Сообщений: 10
Круто. Я упустила из $ ошибку в AWK части скрипта. Ваш предложили решение работает! Большое спасибо за вашу помощь Рубин.
Old 06-06-2008
danmero danmero is offline Forum Advisor  
  
 

Регистрация: Nov 2007
Место проведения: 45.48-73.63
Сообщения: 1431
Хвост может сделать работу здесь
Код:
test `tail -1 data.file`=="pattern" && echo OK || echo NOK
Closed Thread

Закладки

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

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

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

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




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