Как искать и извлекать строки в Unix?

В Linux вы можете просто проверить информацию о процессах ядра:

grep ^PPid: /proc/12345/status

где 12345 — PID дочернего элемента.

Чтобы найти родителя оболочки, выполните

grep ^PPid: /proc/$$/status
1
08.01.2020, 14:12
3 ответа

Как насчет удаления всего до и после строки, например

sed -n 's/^.*crumb":"//; s/".*$//p' crumb.store
XXXXXXXXXXX
0
27.01.2020, 23:40

Ваши данные, похоже, отформатированы в формате JSON, и если вы не работаете в очень жесткой среде, где грязные хаки предпочтительнее установки правильных инструментов, вам следует просто установить jq(, доступный в большинстве репозиториев дистрибутивов ), и использовать его.

Не видя фактических данных, невозможно записать правильный вызов jq.

1
27.01.2020, 23:40

Мне не очень понятно, что вы хотите получить или изменить. Я взял файл так, как вы это сделали, и извлек строку, которая может вам понадобиться, из файла crushstore.txt:

cat crumbstore.txt | grep -oE 'cru.\w*.:.{13}' | grep -Ev '{|pf'

что дало этот результат:

    crumb":"q7md5ctTst0"
    crumb":"WvBqKN8S0E5"
    crumb":"q7md5ctTst0"
    crumb":"q7md5ctTst0"
    crumb":"q7md5ctTst0"

А для извлечения строки из 11 -символов из кавычек я использовал awk

cat crumbstore.txt | grep -oE 'cru.\w*.:.{13}' | grep -Ev '{|pf' | awk -F'"' '{print $3}'

с этим результатом:

    q7md5ctTst0
    WvBqKN8S0E5
    q7md5ctTst0
    q7md5ctTst0
    q7md5ctTst0

Ты этого хочешь?

0
27.01.2020, 23:40

Теги

Похожие вопросы