![]() |
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как рассчитывать линий - игнорирование пустых строк и строк комментариев
Какая команда для подсчета строк в файлах, но игнорировать пустых строк и строк комментариев?
У меня есть файл с 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 строк Спасибо заранее за вашу помощь! |
|
||||
|
Код:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
|
|
||||
|
гораздо проще! :) Код:
egrep -cv '#|^$' fielname |
|
|||||
|
Привет, kthatch.
Вы проделали прекрасную работу, рассказывать нам, как должен выглядеть вывод. Однако, вы не указали, каким образом разделы отделены друг от друга, и не то, что вы считаете комментарий - строка, в начале строки, а строка anyplace в очереди и т.д. Существует стандартной утилиты NL который знает о разделах: Цитата:
Многие из предлагаемых решений, вероятно, адаптируются к любой файл в формате, но Вы можете получить на момент предложения, если вы более точным ... Cheers, ДХО |
|
||||
|
Я попробовал каждую из этих предложений и не работал.
Результаты: # 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;) "в своем сценарии. Еще раз спасибо! Больше предложений будет приветствовать! |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|