LINUX.ORG.RU
ФорумAdmin

Получить слово перед выражением

 , ,


0

1
$ grep 'found: NO' meson_build.log
gstreamer| Program hotdoc found: NO
gst-plugins-base| Run-time dependency bcm_host found: NO (tried pkgconfig and cmake)
gst-plugins-base| Library bcm_host found: NO
gst-plugins-base| Library nvbuf_utils found: NO
gst-plugins-base| Run-time dependency cdparanoia-3 found: NO (tried pkgconfig and cmake)
gst-plugins-base| Run-time dependency vorbisidec found: NO (tried pkgconfig and cmake)
gst-plugins-base| Program hotdoc found: NO
gst-plugins-good| Run-time dependency mp3lame found: NO (tried pkgconfig and cmake)
gst-plugins-good| Program hotdoc found: NO
gst-plugins-bad| Run-time dependency opencv found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency xkbcommon-x11 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Program glslc found: NO
gst-plugins-bad| Run-time dependency ltc found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Library ml_audio found: NO
gst-plugins-bad| Library lumin_rt_core_1_7 found: NO
gst-plugins-bad| Library lumin_rt_app_1_7 found: NO
gst-plugins-bad| Library OpenSLES found: NO
gst-plugins-bad| Run-time dependency tinyalsa found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Dependency tinyalsa from subproject tinyalsa found: NO (subproject failed to configure)
gst-plugins-bad| Library ole32 found: NO
gst-plugins-bad| Library ksuser found: NO
gst-plugins-bad| Library ole32 found: NO
gst-plugins-bad| Library ksuser found: NO
gst-plugins-bad| Library runtimeobject found: NO
gst-plugins-bad| Library mmdevapi found: NO
gst-plugins-bad| Library mfplat found: NO
gst-plugins-bad| Run-time dependency avtp found: NO (tried pkgconfig and cmake)
avtp| Run-time dependency cmocka found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency libssh2 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency directfb found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Library faac found: NO
gst-plugins-bad| Run-time dependency storage_client found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency webrtc-audio-coding-1 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency lrdf found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency ldacbt-enc found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency microdns found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency neon found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency libonnxruntime found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency libopenaptx found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency opencv found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency openh264 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency libopenni2 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency libqrencode found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency svthevcenc found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency wildmidi found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency wpe-webkit-1.1 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency wpe-webkit-1.0 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency wpebackend-fdo-1.0 found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Run-time dependency zxing found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Program hotdoc found: NO
gst-plugins-ugly| Program hotdoc found: NO
gst-libav| Program hotdoc found: NO
gst-rtsp-server| Program hotdoc found: NO
gst-devtools| Program hotdoc found: NO
gst-editing-services| Program hotdoc found: NO
gstreamer-vaapi| Program hotdoc found: NO
Program hotdoc found: NO

Как получить слово перед «found: NO» ?

Пока правильный результат только у ABW

★★★★★

Последнее исправление: superuser (всего исправлений: 4)

int@kyler ~ 0 0.19 $ echo "$f"
gst-plugins-bad| Library lumin_rt_core_1_7 found: NO
int@kyler ~ 0 0.31 $ echo "$f" | sed -rn 's/.*(\<.*\>)\sfound: NO$/\1/p'
lumin_rt_core_1_7
int@kyler ~ 0 0.28 $
ubik
()
Ответ на: комментарий от bigbit

Мерси. awk совсем не знаю.
Ещё на sed и grep пример кто-бы показал.

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

Мерси.

sed -rn 's/.*(\<.*\>)\sfound: NO$/\1/p' meson_build.log | sort -u

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

Так что не «NO$», a «NO.*$»

$ sed -rn 's/.*(\<.*\>)\sfound: NO$/\1/p' meson_build.log | sort -u
bcm_host
faac
glslc
hotdoc
ksuser
lumin_rt_app_1_7
lumin_rt_core_1_7
mfplat
ml_audio
mmdevapi
nvbuf_utils
ole32
OpenSLES
runtimeobject
$ sed -rn 's/.*(\<.*\>)\sfound: NO.*$/\1/p' meson_build.log | sort -u
0
1
3
avtp
bcm_host
cmocka
directfb
enc
faac
glslc
hotdoc
ksuser
libonnxruntime
libopenaptx
libopenni2
libqrencode
libssh2
lrdf
ltc
lumin_rt_app_1_7
lumin_rt_core_1_7
mfplat
microdns
ml_audio
mmdevapi
mp3lame
neon
nvbuf_utils
ole32
opencv
openh264
OpenSLES
runtimeobject
storage_client
svthevcenc
tinyalsa
vorbisidec
wildmidi
x11
zxing

что-то не то !!!

superuser ★★★★★
() автор топика
Последнее исправление: superuser (всего исправлений: 1)
Ответ на: комментарий от superuser

А, я не понял вопроса. Всё правильно: дефис и точка не входят в «слова», находимые \<.*\>. Можно попробовать пробелы.

AVRS ★★
()
Последнее исправление: AVRS (всего исправлений: 3)
Ответ на: комментарий от superuser

cdparanoia-3 found: NO (tried pkgconfig and cmake)

Так что не '(\<.*\>)\s', поскольку он считает '-' границей слова, а '\s([^ \t]+)\s'. Впрочем, я сильно подозреваю, что ничего кроме единичных пробелов в качестве разделителя там быть не может, тогда вообще

sed -rn 's/.* ([^ ]+) found: NO.*$/\1/p'

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

Мерси.

$ sed -rn 's/.* ([^ ]+) found: NO.*$/\1/p' meson_build.log | sort -u
avtp
bcm_host
cdparanoia-3
cmocka
directfb
faac
glslc
hotdoc
ksuser
ldacbt-enc
libonnxruntime
libopenaptx
libopenni2
libqrencode
libssh2
lrdf
ltc
lumin_rt_app_1_7
lumin_rt_core_1_7
mfplat
microdns
ml_audio
mmdevapi
mp3lame
neon
nvbuf_utils
ole32
opencv
openh264
OpenSLES
runtimeobject
storage_client
svthevcenc
tinyalsa
vorbisidec
webrtc-audio-coding-1
wildmidi
wpebackend-fdo-1.0
wpe-webkit-1.0
wpe-webkit-1.1
xkbcommon-x11
zxing
Вы были правы, у ubik результат не верный:
$ sed -rn 's/.*(\<.*\>)\sfound: NO$/\1/p'  meson_build.log | sort -u
bcm_host
faac
glslc
hotdoc
ksuser
lumin_rt_app_1_7
lumin_rt_core_1_7
mfplat
ml_audio
mmdevapi
nvbuf_utils
ole32
OpenSLES
runtimeobject

superuser ★★★★★
() автор топика
Последнее исправление: superuser (всего исправлений: 1)
Ответ на: комментарий от bigbit

И вам мерси отменяется. Результат не верный:

$ awk '/found: NO$/ { print $(NF-2) }' meson_build.log | sort -u
bcm_host
faac
glslc
hotdoc
ksuser
lumin_rt_app_1_7
lumin_rt_core_1_7
mfplat
ml_audio
mmdevapi
nvbuf_utils
ole32
OpenSLES
runtimeobject

superuser ★★★★★
() автор топика
Последнее исправление: superuser (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.