LINUX.ORG.RU

Греп одного слова а не целого предложения

 ,


0

2

Пишу маленький скрипт на баше, и хочу чтобы автоматически узнавалась версия продукта, пытаюсь делать так :

#!/bin/bash
cat arch/arm/configs/tegra3_defconfig | grep "Приветлор" 
и хочу чтобы было в ответ «Приветлор» а не
CONFIG_LOCALVERSION="Приветлор"

Понимаю что тупой вопрос но весь ман перечитал так и не смог реализовать это..

Deleted

grep -o

Но вообще если у тебя там весь файл сотоит из строк типа той что ты привел то его, наверно, лучше подтянуть через source и потом echo «$CONFIG_LOCALVERSION».

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)

и хочу чтобы было в ответ «Приветлор»

cat arch/arm/configs/tegra3_defconfig | grep "Приветлор" >/dev/null && echo "Привeтлoр"
MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Стоп, фича в том что этот конфиг будет обновлятся и к «Приветлор» будет что-то добавлятся, например щас «Приветлор-r1» я имел ввиду что хочу чтобы оно грепнулось из конфига а потом записалось в другой и реализовать думал как этот на этом примере

VAR=$(cat arch/arm/configs/tegra3_defconfig | grep "Приветлор")
echo $VAR >> revision.changelog

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

вангую что grep`ать надо не «приветлор» а «CONFIG_LOCALVERSION=» и выводить значение что после него. Дык в первом посте дан ответ.

можно ещё sed`oм..или вообще или по выхлопу grep`а

MKuznetsov ★★★★★
()

вообще то это не юниксвейно. Естественный способ для этого grep | sed. Мне очень не нравится, что на каждую хрень навешивается столько функционала, сколько влезет.

filequest
()
cat arch/arm/configs/tegra3_defconfig | grep Приветлор | sed -r 's/.*("Приветлор").*/\1/'
filequest
()

Пипец вы упоротые! в первом сообщении дан простой и правильный ответ с использованием ключа -о. Зачем городить там, где не нужно?

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

вот ключ как раз не нужен. Голова пухнет от этих ключей гребаных. Надо делать предпочтение наиболее простым и универсальным решениям. Кстати, возможно не все версии grep поддерживают этот ключ

filequest
()
Ответ на: комментарий от Deleted

Надо то что после CONFIG_LOCALVERSION=

echo 'CONFIG_LOCALVERSION="Приветлор"' | grep "CONFIG_LOCALVERSION" | awk -F\= '{ gsub(/"/,"",$2); print $2 }'
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.