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


как это сделать на шел скрипте? Например на sh.
...
Рейтинг: 0 / 0
как это сделать на шел скрипте?
    #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
как это сделать на шел скрипте?
    #33662567
Фотография Adekamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без awk немогу придумать как
...
Рейтинг: 0 / 0
как это сделать на шел скрипте?
    #33662575
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или не awk - шеллом просто но все равно построчно придется обрабатывать чтобы найти место старта.
...
Рейтинг: 0 / 0
как это сделать на шел скрипте?
    #33662853
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
#!/bin/sh

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

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


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


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