# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(\d{4}.\d{3}.\d{3}) (\S+) (\S+) (\S+) (\S+) (\S+)\n(.+)\nHS\.code: (\S+) Country of origin: (\S+)\nEAN: (\S+)/: $1 $2 $3 $4 $5 $6 $7 $8 $9 $10\n/gm;t' <<< "\"11 4149.310.025 000 1 37,78 1 37,78
PISTON
HS.code: 87084099 Country of origin: EU/DE
EAN: 2050000141478
21 0734.401.251 000 4 3,05 1 12,20
PISTON RING
HS.code: 73182100 Country of origin: JP
EAN: 2050000026638\""
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html