У меня в каталоге Linux много файлов, простой текст с некоторыми каталогами, и я хочу найти во всех этих файлах и получить точно строку между "- (" и ") -", например:
bbbfb da bg - (fdsd) - fgfjmui - (juju gfdgf b) - fsdf sdfs dsfdlk, kwwk
xwpv - (64fsdfds) - fsdfsd - (a) - fsdfsd ...
и возврат:
- fdsd
- juju gfdgf b
- 64fsdfds
- a ...
Я некоторое время читал, и я нашел такие команды, как grep, но я попытался, и я думаю, что эта команда возвращает ровно строку и только одну строку:
grep -Rn "-(" *
Я попробовал также команду sed, например:
sed -e 's/.*-(\([^"]*\))-.*/\1/'
, которые возвращают все строки и где находится шаблон, только строка внутри - (и) -, но не совсем верно.
я читал о awk, но мойвопрос: возможно с grep, sed или awk?Есть ли еще что-то, что можно поставить по команде sed?(я новичок в этом) есть другая команда, чтобы сделать это?или другая идея, о которой я думал, это сделать небольшую программу на c для чтения файлов char на char