Как сопоставить строку в файле, но только если строка находится в первом поле?

killall может сделать это.

$ killall application_name
1
21.08.2017, 18:55
2 ответа

Используйте awk:

awk '($1=="PATTERN")' infile.txt

выше правильно, когда ваши поля разделены пробелами, если нет, это можно указать с опцией -F.

если соответствие PATTERN установлено внутри переменной, вы должны указать awk об этом с помощью опции -v.

awk -v param="PATTERN" '($1==param)' infile.txt 

также может быть основано на включении ШАБЛОНА с ~.

awk -v param="PATTERN" '/$1 ~ param/' infile.txt

Также можно использовать grep.

grep '^PATTERN.*[^:]'
1
27.01.2020, 23:45

Если входные данные были в формате JSON (, это выглядит подозрительно похоже ), можно было бы использоватьjq:

$ jq -r '."hbase.tmp.dir"' file.json
/var/lib/ambari-metrics-collector/hbase-tmp

Это может быть изменено, если есть какая-либо сложная структура данных, очевидно.

0
27.01.2020, 23:45

Теги

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