Добрый день!
Нужда заставила проработать объемный список.
Большой бесформенный текст.
Не раз пользовался возможностями скриптов в unix.
Можно конечно выбрать строки с нужным образцом с помощью grep.
Захотелось более информативной записи, а именно, чтобы то, что ищется, расположилось в начале строки.
Например, исходный вид:lkjjkj lkjj www lkjkjk
www lkjlkj lj lkj k
kjjlkjkklkl klklkl klk klj klj
lkjdfj lkjdslkfj lkjklj www jlkjТребуемый результат (поиск www):
www lkjkjk
www lkjlkj lj lkj k
www jlkjМожет кто подскажет простенькое решение для компа со старенькой FreeBSD 4.4?
Вот, попробуйте#!/bin/shЗапускать так: ./script.sh wwwwhile read line; do
if [ "$line" != "${line#*$1}" ]; then
tmp=${line#*$1}
echo $1$tmp
fi
done < text
либо perl
> Вот, попробуйте#!/bin/sh
> while read line; do
> if [ "$line" != "${line#*$1}" ]; then
> tmp=${line#*$1}
> echo $1$tmp
> fi
> done < textЗапускать так: ./script.sh www
> либо perlВсё так, однако же Ышшо вот так можно:
Ы@fbsd:~ % sed -n 's/^.*\(www.*$\)/\1/p' input.txt
www lkjkjk
www lkjlkj lj lkj k
www jlkj
Perl рулит:
cat ./file | perl -pe "s/^.*(www.*)$|^.*()$/\1/; s/^\n//"
Огромное спасибо за помощь, за уделенное внимание!
Оба варианта опробовал, работают так, как хотелось.
Спасибо!
> Добрый день!
> Нужда заставила проработать объемный список.
> Большой бесформенный текст.
> Не раз пользовался возможностями скриптов в unix.
> Можно конечно выбрать строки с нужным образцом с помощью grep.Можно подсветить искомые слова
grep named --colour /etc/rc.confили через алиасы
alias grep 'grep --color=auto'
> Может кто подскажет простенькое решение для компа со старенькой FreeBSD 4.4?не знаю, работает ли это в FreeBSD 4.4
egrep -o "www.*" example.txt
> не знаю, работает ли это в FreeBSD 4.4
> egrep -o "www.*" example.txtВ новых - работает, 4.4 нет чтобы потестить, но скорее нет :)