$ echo '# Host 1 host 45583 { filename "junk1.cm"; hardware ethernet 11:42:a3:d4:55:83; fixed-address 10.100.34.114; } # Host 2 host D78C3 { filename "junk5.cm"; fixed-address 10.100.34.117; hardware ethernet 11:42:a3:FD:78:C3; } # Host 3 host 3A684 { filename "junk6.cm"; fixed-address 10.100.34.119; hardware ethernet 11:42:a3:13:a6:84; } # Host 4 host 46d54 { filename "junk4.cm"; fixed-address 10.100.34.120; hardware ethernet 23:10:3d:14:6d:54; } ' | perl -e' $/ = "}\n"; while ( <> ) { s/(fixed-address.*\n)(hardware ethernet.*\n)/$2$1/; print; } ' # Host 1 host 45583 { filename "junk1.cm"; hardware ethernet 11:42:a3:d4:55:83; fixed-address 10.100.34.114; } # Host 2 host D78C3 { filename "junk5.cm"; hardware ethernet 11:42:a3:FD:78:C3; fixed-address 10.100.34.117; } # Host 3 host 3A684 { filename "junk6.cm"; hardware ethernet 11:42:a3:13:a6:84; fixed-address 10.100.34.119; } # Host 4 host 46d54 { filename "junk4.cm"; hardware ethernet 23:10:3d:14:6d:54; fixed-address 10.100.34.120; }