Страница 1 из 1

вывод файла с определённой строки

Добавлено: 2009-02-15 15:32:05
zg
собственно как во фре вывести все строки файла, начиная, ну скажем, с четвёртой?

в общем-то нужна конкретная команда

Re: вывод файла с определённой строки

Добавлено: 2009-02-15 15:38:32
zg
пока сделал так

Код: Выделить всё

sed '1,4d'

Re: вывод файла с определённой строки

Добавлено: 2009-02-15 21:07:11
MAK
а чем сед не устроил?

Re: вывод файла с определённой строки

Добавлено: 2009-02-15 21:32:50
Гость
zg писал(а):пока сделал так

Код: Выделить всё

sed '1,4d'
более правильно скорее
sed -n '4,$p' <fileName>
или
sed '#n
4,$p' <fileName>

Re: вывод файла с определённой строки

Добавлено: 2009-02-15 22:14:19
zg
MAK писал(а):а чем сед не устроил?
слишком мощный -))
Гость писал(а):более правильно скорее
сед не хотелось бы использовать

Re: вывод файла с определённой строки

Добавлено: 2009-02-15 23:02:07
Гость
zg писал(а):слишком мощный -))
да упокоятся мощи усопших...

Код: Выделить всё

> du -Ash `which sed tail head ed awk`
 33K    /usr/bin/sed
 21K    /usr/bin/tail
7.5K    /usr/bin/head
 52K    /bin/ed
134K    /usr/bin/awk
zg писал(а):сед не хотелось бы использовать
а в каком контексте sed(1) не годится? Можно и на чистом sh(1) без внешних команд...

Re: вывод файла с определённой строки

Добавлено: 2009-02-16 7:18:15
zg
Гость писал(а):а в каком контексте sed(1) не годится?
слишком большой функционал -)
Гость писал(а):да упокоятся мощи усопших...
-))) важен не размер, а функционал

Re: вывод файла с определённой строки

Добавлено: 2009-02-24 17:31:00
RusBiT
А как можно узнать номер текющей строки в скрипте?

Re: вывод файла с определённой строки

Добавлено: 2009-02-25 5:50:44
Гость
RusBiT писал(а):А как можно узнать номер текющей строки в скрипте?

Код: Выделить всё

echo $LINENO

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 6:02:43
RusBiT
Это для bash, у меня sh

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 14:58:20
zg
шелл вроде такого не умеет, утверждать не буду, но в мане ничего на эту тему не нашёл

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 16:45:08
RusBiT
zg писал(а):шелл вроде такого не умеет, утверждать не буду, но в мане ничего на эту тему не нашёл
Долго гуглили - тоже не нашел ничего .
А при чтении файла можно вывести следующию строку как нибудь?

Просто quagga не передает маршруты ядру, пишу скриптик, но попадаются такие строки

Код: Выделить всё

*> 213.228.111.192/27
                    84.22.159.22                           0 33991 64534 i
Как бы в консоль они не влазят и переносятся, вот хотелось бы что эту строку превратить в одну :smile:

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 17:29:57
zg
RusBiT писал(а):А при чтении файла можно вывести следующию строку как нибудь?
гм.. лучше создай отдельную тему и выложи всё необходимое, а то тут потонем

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 19:20:39
tango
RusBiT писал(а):А как можно узнать номер текющей строки в скрипте?
Вывести номера строк:
sed = имя_файла | sed 'N;s/\n/\t/'

Re: вывод файла с определённой строки

Добавлено: 2009-02-27 19:25:07
zg
tango писал(а):
RusBiT писал(а):А как можно узнать номер текющей строки в скрипте?
Вывести номера строк:
sed = имя_файла | sed 'N;s/\n/\t/'
гм.. это умеет и cat, сед тут не нужен

Код: Выделить всё

zg# cat -n /etc/login.conf | tail
   312  #subshell|Shell Subscriber Accounts:\
   313  #       :tc=subscriber:
   314  #
   315  ##
   316  ## If you want some of the accounts to use traditional UNIX DES based
   317  ## password hashes.
   318  ##
   319  #des_users:\
   320  #       :passwd_format=des:\
   321  #       :tc=default:
zg#

Re: вывод файла с определённой строки

Добавлено: 2009-02-28 5:43:04
Гость
RusBiT писал(а):Это для bash, у меня sh

Код: Выделить всё

------------------------------------------------------------------------
r179387 | stefanf | 2008-05-29 01:44:32 +0400 (Thu, 29 May 2008) | 5 lines
Changed paths:
   M /head/bin/sh/parser.c

Fix checking if a variable name is LINENO.  As STPUTC changes the pointer if it
needs to enlarge the buffer, we must not keep a pointer to the beginning.

PR:     ports/123879

------------------------------------------------------------------------
r179022 | stefanf | 2008-05-15 23:55:27 +0400 (Thu, 15 May 2008) | 8 lines
Changed paths:
   M /head/bin/sh/expand.c
   M /head/bin/sh/parser.c
   M /head/bin/sh/parser.h

Expand $LINENO to the current line number.  This is required by SUSv3's "User
Portability Utilities" option.

Often configure scripts generated by the autotools test if $LINENO works and
refuse to use /bin/sh if not.

Package test run by:    pav
MFC в 7-STABLE был в августе, а также $LINENO присутствует в RELEASE_7_1
в 6-STABLE и ни в одном релизе 6-ой ветки такого нет