Скопируйте огромный файл, пропустив первую строку, используя dd в Linux
Я пытался скопировать содержимое огромного файла (10 ГБ) в другой, пропустив первую строку (как в head -n1
). Я пробовал несколько способов головы, хвоста, awk и sed. Решено на использованиеtail -n+2 > ./xab.1
см. ссылку1 ссылку2 ссылку3 . Но обработка занимает время журнала. Больше, чем нужно cp
.
Я просто хочу слепо копировать контент, вот и все. Поэтому я думаю, dd
что сделаю работу, но я в недоумении, реализуя ее. Любая помощь?
Ну, чтобы дать больше контекста, файл CSV, и поэтому я думаю, dd if=/dev/zero of=/path/to/file bs=1 seek=1 count=<<length(head -n1 /path/to/file)>> conv=notrunc
что работа должна работать.
Но как заставить это работать ??
РЕДАКТИРОВАТЬ: Итак, вот то, что я до сих пор придумал, (да, я знаю, что я потеряю несколько записей. Но это не имеет значения)
#!/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 ответов на вопрос
Похожие вопросы
-
3
Как я могу создать оглавление для документа уценки с помощью Python / AWK / SED?
-
2
Удаление новых строк из файла RTF с помощью sed
-
6
Смонтировать сырой образ CD-ROM
-
-
3
клон жесткого диска dd: ошибка ввода / вывода, хотя "chkdsk" говорит "ОК"
-
4
получение заголовков / блоков комментариев
-
1
Замените имя файла на filepath на sed
-
5
ошибка при использовании командной строки в качестве псевдонима bash в linux
-
3
Преобразование файла CSV с помощью sed
-
3
что делает хвост + число? Как насчет головы
-
4
используя sed для удаления строк в файле