Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / как это сделать на шел скрипте? / 7 сообщений из 7, страница 1 из 1
12.04.2006, 18:10:30
    #33662332
--------!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
есть файл.
нужно удалить первые N пустых строк.


как это сделать на шел скрипте? Например на sh.
...
Рейтинг: 0 / 0
12.04.2006, 19:45:10
    #33662554
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
если задача удалить N пустых строк в файле если они первые - то
че-нибудь такое

Код: plaintext
1.
2.
3.
file=test2.txt
n= 3 
[ `cat $file | sed -n /^$/p | wc -l` -ge "$n" ] && cat $file | sed  1 ,${n}d || cat $f
ile

а если первые где-то в произвольном месте от начала встречающиеся N строк - то надо например на awk-е или том же sh скрипт писать который построчно дойдет до них и их пропустит.
...
Рейтинг: 0 / 0
12.04.2006, 19:50:22
    #33662567
Adekamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
без awk немогу придумать как
...
Рейтинг: 0 / 0
12.04.2006, 19:55:21
    #33662575
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
ну или не awk - шеллом просто но все равно построчно придется обрабатывать чтобы найти место старта.
...
Рейтинг: 0 / 0
12.04.2006, 22:24:39
    #33662853
DarkSquid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
Код: plaintext
1.
2.
3.
#!/bin/sh

linenums=`wc -l < $ 1 ` && tailoffset = `expr $linenums +  1  - $ 2 ` && tail -n $tailoffset < $ 1 
...
Рейтинг: 0 / 0
12.04.2006, 22:25:47
    #33662857
DarkSquid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
DarkSquid
Код: plaintext
1.
2.
3.
#!/bin/sh

linenums=`wc -l < $ 1 ` && tailoffset = `expr $linenums +  1  - $ 2 ` && tail -n $tailoffset < $ 1 


Блин, чушь написал.
...
Рейтинг: 0 / 0
12.04.2006, 23:23:13
    #33662911
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как это сделать на шел скрипте?
да, к сожалению особо изящного тут ничего не вырисовывается :-(

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
#!/bin/sh

file=test.txt
n= 3 

awk -v n=$n -v f=$file '{if(!length($0)){i++;if(i==n){bg=NR;exit}}else i=0} END{if(bg){sedc="sed " bg-n+1 "," bg "d";system("cat " f " | " sedc)}else system("cat " f)}' $file


...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / как это сделать на шел скрипте? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]