Kopieren Sie große Dateien, die die erste Zeile mit dd unter Linux überspringen
Ich habe versucht, den Inhalt einer riesigen Datei (10 GB) in eine andere zu kopieren und die erste Zeile (wie in head -n1
) zu überspringen . Ich habe verschiedene Arten von Kopf, Schwanz, Axt und Sed ausprobiert. Eingesetzt bei der Verwendungtail -n+2 > ./xab.1
siehe link1 link2 link3 . Die Verarbeitung benötigt jedoch eine Protokollierungszeit. Mehr als das braucht es cp
.
Ich möchte nur den Inhalt blind kopieren, das ist alles. Ich denke, ich dd
werde den Job machen, aber ich bin ratlos bei der Umsetzung. Irgendeine Hilfe?
Um mehr Kontext zu geben, ist die Datei CSV und daher denke ich, dass dd if=/dev/zero of=/path/to/file bs=1 seek=1 count=<<length(head -n1 /path/to/file)>> conv=notrunc
das funktionieren sollte.
Aber wie soll es funktionieren?
EDIT: Also hier ist was ich mir bis jetzt ausgedacht habe (ja, ich weiß, dass ich ein paar Platten verlieren werde. Aber das spielt keine Rolle)
#!/bin/bash echo "Initiating xaa." `date` head -n3 /stage/csv/dev/data/csv_huge/xaa > /stage/csv/dev/data/csv_huge/csv/header tail -n3 /stage/csv/dev/data/csv_huge/xbc > /stage/csv/dev/data/csv_huge/csv/trailer sed -i '$ d' /stage/csv/dev/data/csv_huge/xaa cat /stage/csv/dev/data/csv_huge/csv/trailer >> /stage/csv/dev/data/csv_huge/xaa mv /stage/csv/dev/data/csv_huge/xaa /stage/csv/dev/data/csv_huge/csv/xaa echo "Completed xaa." `date` sed -i 1d /stage/csv/dev/data/csv_huge/xab sed -i '$ d' /stage/csv/dev/data/csv_huge/xab cat /stage/csv/dev/data/csv_huge/csv/header /stage/csv/dev/data/csv_huge/xab > /stage/csv/dev/data/csv_huge/csv/xab cat /stage/csv/dev/data/csv_huge/csv/trailer >> /stage/csv/dev/data/csv_huge/csv/xab rm -f /stage/csv/dev/data/csv_huge/xab echo "Completed xab." `date` sed -i 1d /stage/csv/dev/data/csv_huge/xbc cat /stage/csv/dev/data/csv_huge/csv/header /stage/csv/dev/data/csv_huge/xbc > /stage/csv/dev/data/csv_huge/csv/xbc echo "Completed xbc." `date`
0 Antworten auf die Frage
Verwandte Probleme
-
3
Wie kann ich mit Python / AWK / SED ein Inhaltsverzeichnis für ein Markdown-Dokument erstellen?
-
2
Entfernen von Zeilenumbrüchen aus einer RTF-Datei mit sed
-
6
Mounten Sie das Roh-CD-ROM-Image
-
3
dd-Klon-Festplatte: Eingabe- / Ausgabefehler obwohl "chkdsk" OK sagt
-
4
Header / Kommentarblöcke abrufen
-
1
Ersetzen Sie Dateiname durch Dateipfad durch Sed
-
5
Fehler bei der Verwendung der Befehlszeile als Bash-Alias unter Linux
-
3
CSV-Datei mit sed umwandeln
-
3
was macht tail + number? Was ist mit dem Kopf?
-
4
Verwenden von sed zum Entfernen von Zeilen in einer Datei