Letztes Byte einer Datei entfernen, Linux Hausmittel ?

#1200645
Lesenswert?

Wenn es nur das allerletzte Byte wegnehmen soll, muß man sed sagen, daß 
es nur die letzte Zeile anfassen soll ($ als Adressangabe vor dem s...):
1
if [ "$1" != "" ]
2
then
3
    sed -i -e "\$s/.$//" $1
4
else
5
    echo mangels Argument nichts zu tun
6
fi

dd ist aber sicher geeigneter bei Binärdateien; sed arbeitet 
zeilenweise.
Oder man rechnet und nimmt head -c ...
Gast #1200663
Lesenswert?

Klappt nicht, das . ist kein Match mit 0x00

head --bytes=-1 $1 > out

funktioniert auch ohne rechnen (stat -c %s $1) allerdings müsste man das 
inputfile irgendwie überschreiben können..

vielleicht so

cat $1 | head --bytes=-1 > $1

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren