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

时间:2017-10-18 09:20:24

标签: 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 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.

2 个答案:

答案 0 :(得分:0)

类似的东西:

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.

答案 1 :(得分:-1)

如果您尝试将命令的输出分配给变量,请使用变量定义周围的波形符:

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