Вы действительно можете сделать это в sed, но я настоятельно рекомендую вам использовать более сложный язык, на котором есть инструменты, написанные для обработки данных JSON. Например, вы можете попробовать perl или python.
Теперь, в вашем простом примере, все, что вам нужно, это первое появление "status", поэтому вы можете сделать:
$ sed -nE '/status/{s/.*:\s*"(.*)",/\1/p;q}' file.json
ERROR
Фокус в том, чтобы использовать -n для избегайте печати, а затем, если строка соответствует status (/status/), вы удаляете все, кроме части, которую вы хотите s/.*:\s*"(.*)",/\1/, p выровняйте линию и q uit.
Лично я считаю эту эквивалентную команду grep намного проще:
$ grep -m1 -oP '"status"\s*:\s*"\K[^"]+' file.json
ERROR
Или этот:
$ perl -ne 'if(s/.*"status"\s*:\s*"([^"]+).*/$1/){print;exit}' file.json
ERROR
Серьезно хотя, если вы планируете разбирать файлы JSON, не пытайтесь делать это вручную. Используйте подходящий парсер JSON.
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html
Я не знаю, использует ли Empathy пузырьки NotifyOSD (я не использую Empathy), но если это так, возможно, это может помочь:
Сначала установить исправленную NotifyOSD:
sudo add-apt-repository ppa:leolik/leolik;
sudo apt-get update;
sudo apt-get upgrade;
sudo apt-get install libnotify-bin;
pkill notify-osd;
Затем установите NotifyOSDconfig:
sudo add-apt-repository ppa:nilarimogard/webupd8;
sudo apt-get update;
sudo apt-get install notifyosdconfig;
Запустите NotifyOSD из запуска или меню и настройте свои пузырьки.
Все это отсюда: http: // www .webupd8.org / 2010/05 / наконец-легкий путь к подгоняет-notify.html