coupant les parties pertinentes d'un file

Je veux réduire certaines parties du file binary à partir d'un model particulier et se terminant par un motif particulier. Comment puis-je faire cela dans linux en utilisant bash. Cela peut-il se faire en utilisant sed ou awk?

J'ai un file comme indiqué ci-dessous.

bd = 0x422e90e0ff4abc00 pad = 0x82 offset = 0x05 dst = 00: 0d: bc: 03: 6d: 80 src = 00: 50: a2: df: e8: 1c etype = 0x0800 ip: version = 4 mots-keys = 5 tos = 32 longueur = 142 ip: id = 201 drapeaux = 0x2 fragmentoffset = 0 ip: ttl = 117 protocol = 6 checksum = 0x0000 ip: sourceaddress = 36.190.253.236 ip: destinaddress = 125.182.162.162 bd = 0x422e90e0ff61f000 pad = 0x92 offset = 0x19 dst = 00 : 50: a2: df: e8: 1c src = 00: 0d: bc: 03: 6d: 80 etype = 0x0800 ip: version = 4 mots-keys = 5 tos = 0 longueur = 40 ip: id = 11084 flags = 0x2 fragmentoffset = 0 ip: ttl = 62 protocole = 6 checksum = 0x0000 ip: sourceaddress = 125.182.162.162 ip: destinaddress = 36.190.253.236 bd = 0x422e90e0ff6bb900 pad = 0xb8 offset = 0x06 dst = 00: 50: a2: df: e8: 1c src = 00: 0d: bc: 03: 6d: 80 etype = 0x0800 ip: version = 4 mots d'en-tête = 5 tos = 0 longueur = 40 ip: id = 15720 flags = 0x2 fragmentoffset = 0 ip: ttl = 62 protocole = 6 checksum = 0x0000 ip: sourceaddress = 125.182.162.162 ip: destinaddress = 36.190.253.236 bd = 0x422e90e0ffbe9a00 pad = 0xbb offset = 0xc5 dst = 00: 50: a2: df: e8: 1c src = 00: 0d: bc: 03: 6d: 80 etype = 0x0800 ip: version = 4 headerwords = 5 tos = 0 longueur = 186 ip: id = 15722 flags = 0x2 fragmentoffset = 0 ip: ttl = 62 protocole = 6 checksum = 0x0000 ip: sourceaddress = 125.182.162.162 ip: destinaddress = 36.190.253.236

J'ai besoin de couper ce file de bd = 0x422e90e0ff61f000 à bd = 0x422e90e0ffbe9a00.Peut être fait en utilisant sed ou awk.

Quelque chose comme ça? (J'ai votre bloc de text assis dans un file foo.txt )

 $ cat foo.awk BEGIN { RS = "bd=[a-fx0-9]* "; FS = ""; } { print $0; } $ awk -f foo.awk foo.txt pad=0x82 offset=0x05 dst=00:0d:bc:03:6d:80 src=00:50:a2:df:e8:1c etype=0x0800 ip: version=4 headerwords=5 tos=32 length=142 ip: id=201 flags=0x2 fragmentoffset=0 ip: ttl=117 protocol=6 checksum=0x0000 ip: sourceaddress=36.190.253.236 ip: destinaddress=125.182.162.162 pad=0x92 offset=0x19 dst=00:50:a2:df:e8:1c src=00:0d:bc:03:6d:80 etype=0x0800 ip: version=4 headerwords=5 tos=0 length=40 ip: id=11084 flags=0x2 fragmentoffset=0 ip: ttl=62 protocol=6 checksum=0x0000 ip: sourceaddress=125.182.162.162 ip: destinaddress=36.190.253.236 pad=0xb8 offset=0x06 dst=00:50:a2:df:e8:1c src=00:0d:bc:03:6d:80 etype=0x0800 ip: version=4 headerwords=5 tos=0 length=40 ip: id=15720 flags=0x2 fragmentoffset=0 ip: ttl=62 protocol=6 checksum=0x0000 ip: sourceaddress=125.182.162.162 ip: destinaddress=36.190.253.236 pad=0xbb offset=0xc5 dst=00:50:a2:df:e8:1c src=00:0d:bc:03:6d:80 etype=0x0800 ip: version=4 headerwords=5 tos=0 length=186 ip: id=15722 flags=0x2 fragmentoffset=0 ip: ttl=62 protocol=6 checksum=0x0000 ip: sourceaddress=125.182.162.162 ip: destinaddress=36.190.253.236 

Donc, en principe: modifiez le séparateur de champ sur null, et modifiez le séparateur d'logging sur ce model "bd =" et imprimez tout dans l'logging.