The UNIX and Linux Forums  

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



UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!!

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Удаление пустых строк dhanamurthy Shell программирование и сценарии 3 05-08-2008 02:52 AM
Ликвидировать пустых строк ... shashi_kiran_v UNIX для чайников Вопросы И Ответы 4 09-06-2005 01:39 AM
Удаление пустых строк osymad UNIX для чайников Вопросы И Ответы 4 08-27-2005 07:41 AM
удаление пустых строк или строк с пробелами только vascobrito UNIX для чайников Вопросы И Ответы 3 01-13-2004 07:36 AM
Пустые строки - конец файла saabir Shell программирование и сценарии 4 07-15-2003 12:55 PM

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-23-2007
kthatch kthatch is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2007
Сообщений: 28
Как рассчитывать линий - игнорирование пустых строк и строк комментариев

Какая команда для подсчета строк в файлах, но игнорировать пустых строк и строк комментариев?

У меня есть файл с 4 секций в нем, и я хочу, чтобы каждый раздел засчитывается, не включая пустые строки и комментарии ... , а затем составили в конце.

Вот пример того, что я хотел моего выхода и выглядит следующим образом:

# # # # комментарий
LINE1
line2
Line3
line4
line5
line6

6 линий

# # # # комментарий
line7
line8
line9
line10
line11
line12
line13
line14
line15
line16
line17

11 строк

# # # # комментарий
line18
line19
line20
line21
line22

5 строк

# # # # комментарий
line23
line24
line25
line26
line27
line28
line29
line30
line31
line32
line33
line34
line35

13 строк

Всего 35 строк

Спасибо заранее за вашу помощь!
Old 05-23-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2557

Код:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"

Old 05-23-2007
reborg's Avatar
reborg reborg is offline Forum Staff  
Администратор
  
 

Регистрация: Mar 2005
Место проведения: Ирландия
Сообщения: 4245
Цитата:
Первоначально Послано ghostdog74
Код:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
продлить, что несколько (тестировался):


Код:
awk '!/^[ \t]*(#|$)/ {c++; ct++} /#/ && c { printf "%s\n\n\n%s", c, $0; c=0} END { print ct}' file


Последний раз редактировалось reborg; на 05-23-2007 09:17 PM..
Old 05-24-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Регистрация: Mar 2005
Расположение: в конечном узле B + дерево
Сообщения: 2958
гораздо проще! :)

Код:
egrep -cv '#|^$' fielname

Old 05-24-2007
drl's Avatar
ДРЛ drl is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Apr 2007
Место проведения: Санкт-Пол, Миннесота США / BSD, CentOS, Debian, OS X, Solaris
Сообщений: 717
Привет, kthatch.

Вы проделали прекрасную работу, рассказывать нам, как должен выглядеть вывод.

Однако, вы не указали, каким образом разделы отделены друг от друга, и не то, что вы считаете комментарий - строка, в начале строки, а строка anyplace в очереди и т.д.

Существует стандартной утилиты NL который знает о разделах:
Цитата:
-D - раздел-разделитель \u003d CC
Использование СС для разделения логических страниц
выдержка из Человек NL
Существует также csplit, Который можно разделить файл на части, на основе возникновения регулярного выражения.

Многие из предлагаемых решений, вероятно, адаптируются к любой файл в формате, но Вы можете получить на момент предложения, если вы более точным ... Cheers, ДХО
Old 05-24-2007
kthatch kthatch is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2007
Сообщений: 28
Я попробовал каждую из этих предложений и не работал.

Результаты:

# egrep-CV'#|^$' active_servers
этом отображается общее, но только на экране, а не в файле

# AWK'!/^#/ И И !/^$/{ C + +) END (печати C) 'active_servers
же, как и прежде

# AWK'!/^[ \ т ]*(#|$)/ (C + +; CT + +) / # / И И С (printf "% S \ N \ N \ N% S", C, $ 0; C \u003d 0) END (печати CT) 'active_servers
AWK: синтаксис ошибка вблизи линии 1
AWK: вовлечение в ближайшем разделу 1

Чтобы представить более подробно, у меня есть сценарий, который производит выходной выше (в моем оригинальный пост) в файл - не общие, что я стремится помочь с. Когда я ссылаюсь на замечания, я имею в виду, что строки предшествуют # # и секций разделяются пустой строкой в результате этого "SED '/ это / (X, P; X;) "в своем сценарии.

Еще раз спасибо! Больше предложений будет приветствовать!
Closed Thread

Закладки

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

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

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

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




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