Я пытаюсь извлечь определенную строку из вывода grep
uci show minidlna
создает большой список
.
.
.
minidlna.config.enabled='1'
minidlna.config.db_dir='/mnt/sda1/usb/db'
minidlna.config.enable_tivo='1'
minidlna.config.wide_links='1'
.
.
.
, поэтому я попытался сузить то, что хотел, запустив
uci show minidlna | grep -oE '\bdb_dir=\S+'
это сужает вывод до
db_dir='/mnt/sda1/usb/db'
, что я хочу, чтобы вывести только
/mnt/sda1/usb/db
без кавычек и без начального "db_dir", поэтому яможно запустить rm /mnt/sda1/usb/db/file.db
Я использовал ответы, найденные здесь Как извлечь строку, следуя шаблону с помощью grep, regex или perl , и это так близко, как я получил.
РЕДАКТИРОВАТЬ: после использования команды awk
Эда Мортона мне нужно было передать вывод в команду rm
.
я использовал:
| ( read DB; (rm $DB/files.db)
.
read DB
передает вывод в переменную DB
.
(...)
объединяет команды.
rm $DB/files.db
удаляет файл files.db
.