Linux命令提取给定名称的值

use*_*225 0 unix linux shell

假设我有一个文本文件(EmployeeDetails.txt),其中写入了内容(新行中的所有名称/值),如下所述: -

EmployeeName=XYZ
EmployeeBand=D5
EmployeeDesignation=SSE
Run Code Online (Sandbox Code Playgroud)

我需要Linux命令,它将读取此文件EmployeeDetails.txt并为其提供值EmployeeBand.输出应该是

D5

P..*_*... 5

使用grep:如果有任何后面的内容EmployeeBand=将被打印.

grep -oP 'EmployeeBand=\K.*' EmployeeDetails.txt
Run Code Online (Sandbox Code Playgroud)

使用awkwhere =作为字段分隔符,打印第二个字段.如果符合搜索条件.

awk -F'=' '/EmployeeBand/{print $2}' EmployeeDetails.txt
Run Code Online (Sandbox Code Playgroud)

使用sed,这里D5捕获的波段是一组内部(),后来使用\1.

sed -r '/EmployeeBand/ s/.*=(.*$)/\1/g' EmployeeDetails.txt
Run Code Online (Sandbox Code Playgroud)