Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: kamara - 04.05.21 - klo:11.10

Otsikko: [Ratkaistu]Kuinka tiedostosta poistetaan 2 ensimmäistä merkkiä?
Kirjoitti: kamara - 04.05.21 - klo:11.10
Millä bash-käskyllä voit poistaa tiedostosta 2 ensimmäistä binääri-merkkiä ?
Otsikko: Vs: Kuinka tiedostosta poistetaan 2 ensimmäistä merkkiä?
Kirjoitti: _Pete_ - 04.05.21 - klo:13.09
Millä bash-käskyllä voit poistaa tiedostosta 2 ensimmäistä binääri-merkkiä ?

Tämä oli niin mielenkiintoinen että piti tutkia ja löytyi tämä:

https://unix.stackexchange.com/questions/13907/delete-the-first-n-bytes-of-files

Sieltä poimittuna tämä kohta:

Koodia: [Valitse]
dd if="$file" of="$file~" bs=1 skip=31
mv "$file~" "$file"

Joka sinun tapauksessa tarkoittaa että käytetään parametriä: skip=2

On kyllä tosi hidas joten isommilla binaareillä kestää pitkään kun käsitellään tiedosta tavu kerrallaan tuolla tapaa.




Otsikko: Vs: Kuinka tiedostosta poistetaan 2 ensimmäistä merkkiä?
Kirjoitti: nm - 04.05.21 - klo:13.56
dd:n iflag=skip_bytes mahdollistaa skippauksen tavuittain blokkikoosta riippumatta, jolloin käsittely on huomattavasti nopeampaa esimerkiksi megan blokeilla:

Koodia: [Valitse]
dd if=lähdetiedosto of=kohdetiedosto bs=1M skip=2 iflag=skip_bytes
Otsikko: Vs: Kuinka tiedostosta poistetaan 2 ensimmäistä merkkiä?
Kirjoitti: kamara - 04.05.21 - klo:15.26
Kiitoksia nerokkaista vinkeistä.  8)

Tosin onnistuin ratkaisemaan kyseisen ongelman toisella tapaa, mutta tämä on kyllä kiva tietää.

Kiitoksia paljon...