Ich habe eine .xls-Datei, die ich hübsch drucken möchte, um nette Diffing zu haben, anstatt nur Binärdateien zu ändern.Unzip - wie setze ich aufgeblähte Dateien in ein Array
Mein Ansatz ist unzip
diese ganze Sache. Die resultierende Zeichenfolge enthält keine Zeilenumbrüche, also habe ich sie durch xmllint --format
ausgeführt. Aber auf diesem scheinbar einfachen Weg habe ich einige Probleme gestoßen, die ich schon ausgegeben habe Stunden auf:
unzip
mehrere Dateien im XML-Archiv. Dies führt zu ungültigem XML. Auch mitunzip -q
Optionen bekomme ich mehrere DTDs und so weiter. xmllint unterbricht dies, ohne die Eingabe zu formatieren.unzip -c -a -q myFile.xlsx | xmllint --format -
ich versuchte, die XML-Daten in ein Array Aufspalten Verwendung
read
, um jede einzelne XML-Datei xmllint einzuspeisen. Im Ergebnis vonread
scheinen die meisten Array-Elemente leer zu sein, und das dritte und vierte Element enthalten 20 Buchstaben der XML-Zeichenfolge.IFS='\<\?xml' read -r -a files <<< "$decompressed"
Ich habe auch versucht das Einfügen Zeilenumbrüche nur mit
sed
aber die Dateigröße ist so groß, dass die Verarbeitung es möglich, für die Herstellung von für diffing zu lange dauert.${decompressed/\>\</\>\n\</g}
ich die Ideen ausgehen haben gerade so habe ich beschlossen, euch zu beraten! Danke weiter :)
Vorsicht vor dem XY-Problem. Vielleicht werfen Sie einen Blick auf https://stackoverflow.com/questions/114698/how-do-i-create-a-readable-diff-of-two-spreadsheets-using-git-diff? – Thomas
Bitte zeigen Sie Ihren Code. – hek2mgl
Ich habe den Code hinzugefügt. –