Nowe posty

Autor Wątek: Skrypt pobierajacy dane z piku binarnego  (Przeczytany 3713 razy)

owrak

  • Gość
Skrypt pobierajacy dane z piku binarnego
« dnia: 2014-02-13, 00:36:08 »
Witam
Potrzebuję pomocy przy skrypcie którego zadaniem jest czytanie z określonego miejsca w pliku binarnym ciągu znaków tekstowych i zapisywaniem ich do pliku tekstowego.

Mam kilkaset plików binarnych, w których istotne dla mnie dane są zapisane począwszy od określonego miejsca (0x00005A24), trzeba jakoś odczytać od tego miejsca znaki tekstowe (są to ciągi literowo-liczbowe) do końca tekstu (koniec tekstu to nie koniec pliku!) i przekierować odczytany tekst do nowego pliku tekstowego. Plan jest taki że uruchamiam skrypt z ścieżką do folderu zawierającego paczkę 50 (numerowanych 0-49) plików binarnych z których "wyciągam" potrzebny tekst tworząc w tym folderze nowy plik tekstowy z listą "wyciągniętych" tekstów. Jak na razie nie bardzo wiem jak ugryźć temat odczytu od zadanego miejsca z pliku binarnego tekstu i tu właśnie wielka prośba do forumowiczów. Jak się za to zabrać? Dodam że dopiero uczę się pisać skrypty więc mile widziane są odpowiedzi łopatologiczne.

płona

  • Gość
Skrypt pobierajacy dane z piku binarnego
« Odpowiedź #1 dnia: 2014-02-13, 08:09:38 »
man strings
man grep

post dość "rozmyty". Sprecyzuj dokładniej, może uda się pomóc.

PS. "Zadań domowych" nie rozwiązuję.

owrak

  • Gość
Skrypt pobierajacy dane z piku binarnego
« Odpowiedź #2 dnia: 2014-02-17, 12:51:32 »
Dziękuję, właśnie chodziło mi o strings.
To nie jest "praca domowa" tylko próba ułatwienia sobie pracy.

Obecnie skrypt wygląda mniej więcej tak:
#!/bin/bash
touch pomoc1.txt
echo "----------------------------------------------" >> pomoc1.txt
date >> pomoc1.txt
echo "nowa zawartosc pliku" >> pomoc1.txt
echo "----------------------------------------------" >> pomoc1.txt
echo " " >> pomoc1.txt
strings -f -t x RecipeBackup0 RecipeBackup1 RecipeBackup2 RecipeBackup3  >> pomoc1.txt
echo "Wygenerowano pomocniczy plik z lista"
echo " "
touch nazwy.txt
echo "----------------------------------------------" >> nazwy.txt
date >> nazwy.txt
echo "nowa zawartosc pliku nazwy.txt" >> nazwy.txt
echo "----------------------------------------------" >> nazwy.txt
echo " " >> nazwy.txt
grep 5a24 pomoc1.txt | sed -e s/5a24/-/g >> nazwy.txt
echo "Wygenerowano plik z lista programow produkcyjnych"
echo " "
rm pomoc1.txt
echo "Plik pomocniczy zostal usuniety"
exit
Jestem cienki w pisaniu skryptów ale ten działa i robi to co chce żeby robił. Plików binarnych RecipeBackup jest więcej i dla czytelności wkleiłem tylko kilka pierwszych.