LINUX.ORG.RU

sed & bash


0

0

Пните плиз ! Есть файлик sort в нем есть список файликов первую строку нужно удалить. 1) делаю cat ./sort | sed -e 's/шаблон_первой_строки//g' > ./sort.new

Это работает, НО (!) на месте первой строки появляется пустая строка. Так не подходит. Пытаюсь извратиться: посчитать количество строк в файле потом сделать tail и сохранить это в файл, типа:

lines=`cat ./sort | wc -l' new_lines=$lines-1 tail -lines=$new_lines ./sort > ./sort.new

Все отлично, НО (!) bash воспринемает строку new_linew=$lines-1 как присвоение ТЕКСТОВОГО выражения... Как преобразовать $lines в число и отнять от него единицу ?

Эээ... Типа пните куда копать ?!

anonymous

's/шаблон_первой_строки\n//g' ?

anonymous
()

2anonymous: нет /n не прокатывает. Было бы интересно узнать как добавить \n ?

2SadStork: спасибо, не знал !

anonymous
()

А почему, собственно, не "tail -n +1"?

DonkeyHot ★★★★★
()

let lines=$lines-1

anonymous
()

cat ./sort | tail +2 > ./sort.new

Rock
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.