dmidecode | perl -le '$o = qr/[^\n]+\n[^\n]+/; $a = join "", ; $a =~ s/(Socket Designation: RAM($o)Bank($o)Current($o)Type($o)Installed Size: \d[^\n]+\n)/print $1/smge' #### dmidecode | perl -le '$o = qr/[^\n]+\n[^\n]+/; $a = join "", ; $a =~ s/(Socket Designation: RAM($o){4}Installed Size: \d[^\n]+\n)/print $1/smge' #### dmidecode | perl -e 'undef $/; for ( split /(?<=\n)\n+/, <> ) { print if /RAM socket|Memory Device/ && !/(Not|No Module) Installed/ }'