Невозможно извлечь команду fastboot с помощью awk - PullRequest
0 голосов
/ 12 июня 2019

Я пишу короткий скрипт для сбора информации о телефоне Android с помощью fastboot.

С помощью следующей команды

    fastboot getvar product

Я могу получить возвращаемое значение, как это

    product: "name"
    Finished. Total time: 0.029s

Мне нужно только значение «name» после строки «product:», поэтому я пытаюсь использовать «:» в качестве разделителя. Я пытаюсь использовать предложение из этой темы " Как извлечь конкретную строку из блока текста и сохранить их в строковые переменные? " с чем-то похожим

    fastboot getvar product | awk 'NR==1{print $2}'

Или

    fastboot getvar product | awk =F ":" '{print $2}'

Или

    fastboot getvar product | sed -n 's/.* //; 1h'

Возвращаемое значение всегда

    product: "name"
    Finished. Total time: x.xxxs

Используемая мной ОС - это Debian rodete. Любые предложения приветствуются. Спасибо.

1 Ответ

0 голосов
/ 12 июня 2019

Похоже, fastboot (что бы это ни было!) Печатает вывод, который вы хотите проанализировать в stderr, а не в stdout.Попробуйте:

fastboot getvar product 2>&1 | awk 'NR==1{print $2}'`
...