Bash 我想将每行输出设置为单个变量?

Bash 我想将每行输出设置为单个变量?,bash,Bash,命令: cat /proc/cpuinfo | egrep -Ei 'model name|flags|cpu core|cache size'|sed -n '1,4p' 输出: model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz cache size : 3072 KB cpu cores : 2 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr

命令:

cat /proc/cpuinfo | egrep -Ei 'model name|flags|cpu core|cache size'|sed -n '1,4p'
输出:

model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

cache size  : 3072 KB

cpu cores   : 2

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts
我希望得到如下结果:

abc=model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
xyz=cache size  : 3072 KB.
大概是这样的:

cat /proc/cpuinfo |
    egrep -Ei 'model name|cache size'|
    sed 's/^model name/abc=model name/g' |
    sed 's/^cache size/xyz=cache size/g' 
将产品:

abc=model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
xyz=cache size  : 3072 KB.

如果试图将命令的输出分配给变量,请在变量定义周围使用波浪线字符:

abc=`cat /proc/cpuinfo | egrep -Ei 'model name'|sed -n '1,4p'`
将产生:

echo $abc
model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

让我试试这个。当您想要变量
abc
xyz
时,请确保右侧显示引号并将输出源为:
source