LINUX.ORG.RU

Как очистить строку в переменной, если в ней содержится нужная подстрока?

 ,


0

2

Всем доброе время.

Freebsd, пишу скрипт, который удалит из log файла лишние строки, а именно, содержащие подстроку «vbk»

Т.е. если в строке есть эта подстрока, то эту подстроку нужно просто обнулить, чтобы в логе остались только строки без этой самой vbk.

Как это лучше сделать?

#!/bin/sh

while read LINE do

##cut line with ‘vbk’

echo $LINE >> newlog done < log

Ответ на: комментарий от overself

я неправильно прочитал топик. Эта команда делает не то что тебе нужно.

Она удаляет из всех строк vbk. Остальную часть строк оставляет. Изменения записывает в исходный файл.

Пользуйся grep -v.

Tanger ★★★★★ ()
Ответ на: комментарий от Tanger

Господа, ничего не понимаю, если я запускаю комманду вручную - она прекрасно отрабатывает, а если она запускается по крону - ничего не происходит. С чем это может быть связано?

#!/bin/sh

#clear log from garbage grep -v vbk my.log > newlog rm newlog my.log touch /usr/local/etc/borgtony2/testpid

По крону создается testpid, но файл остается не измененным. :(

overself ()