2016-12-05 2 views
0

Предположим, что у меня есть один текстовый файл (EmployeeDetails.txt), в котором написано содержание (все имя/значение в новой строке), как указано ниже: -команда Linux для извлечения значения для данного имени

EmployeeName=XYZ 
EmployeeBand=D5 
EmployeeDesignation=SSE 

I нужна команда Linux, которая будет читать этот файл EmployeeDetails.txt и дать значение для EmployeeBand. Вывод должен быть

D5

+0

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

ответ

5

Использование grep: Если что-то следует EmployeeBand= будут напечатаны.

grep -oP 'EmployeeBand=\K.*' EmployeeDetails.txt 

Используя awk, где = используется в качестве разделителя полей и второе поле печатается. если критерии поиска встречаются.

awk -F'=' '/EmployeeBand/{print $2}' EmployeeDetails.txt 

Использование sed, здесь группа D5 захватывается это группа внутри (), а затем используется с помощью \1.

sed -r '/EmployeeBand/ s/.*=(.*$)/\1/g' EmployeeDetails.txt 
Смежные вопросы