Bash - pocięcie pliku na wiersze

0

Cześć !

Mam następującą zawartość pliku (pokazuję kawałek - całość dynamicznie przyrasta co określony interwał czasowy w pętli):

2f f2 e5 ff e4 f3 e5 ff 50 fa e5 ff 84 00 e6 ff
55 f9 e5 ff 56 ee e5 ff b2 f9 e5 ff 59 f6 e5 ff
f5 fa e5 ff 58 fc e5 ff 24 f3 e5 ff 44 f4 e5 ff
fd f2 e5 ff 18 01 e6 ff 25 fa e5 ff 3e ee e5 ff
60 f6 e5 ff fb f7 e5 ff a4 fc e5 ff ee f6 e5 ff
86 f4 e5 ff 2c f5 e5 ff 66 f3 e5 ff d6 fd e5 ff

Jest to reprezentacja intów w hexie. W jednej linii znajdują się cztery inty (każdy kończy się na xff).
Czy mógłbym prosić o pomoc w dojściu jak mógłbym doprowadzić całość do takiej końcowej postaci pliku iterując się co linijkę przez cały plik (pokażę na przykładzie pierwszej i drugiej linijki) ?

2f f2 e5 ff
e4 f3 e5 ff
50 fa e5 ff
84 00 e6 ff
55 f9 e5 ff
56 ee e5 ff
b2 f9 e5 ff
... etc

PS. Potrzebuję również każdą z tych linii odwrócić. Tj na przykład 2f f2 e5 ff na ff e5 f2 2f, a później zamienić na dec. O ile z samą zamianą printfem sobie poradzę to przydałaby mi się pomoc również z odwracaniem ale nie chcę prosić o za dużo więc będę wdzięczny za każdą pomoc :)

1

Może dane powinny być wysyłane do potoku fifo a potem skrypt pobierał by dane z potoku i przetwarzał:

 #!/bin/bash
while read line
do
echo $line | gawk '{print($4,$3,$2,$1"\n"$8,$7,$6,$5"\n"$12,$11,$10,$9"\n"$16,$15,$14,$13)}' >> /ścieżka/do/pliku/wynikowego
done < /ścieżka/do/potoku/potok_fifo
$0
0
wojtek p. napisał(a):

Może dane powinny być wysyłane do potoku fifo a potem skrypt pobierał by dane z potoku i przetwarzał:

 #!/bin/bash
while read line
do
echo $line | gawk '{print($4,$3,$2,$1"\n"$8,$7,$6,$5"\n"$12,$11,$10,$9"\n"$16,$15,$14,$13)}' >> /ścieżka/do/pliku/wynikowego
done < /ścieżka/do/potoku/potok_fifo
$0

Dokładnie o to mi chodziło !
dziękuję :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1