태그 보관물: head

head

Linux에서 dd를 사용하여 첫 번째 줄을 건너 뛰는 큰 파일 복사 link3을 참조하십시오 .

거대한 파일 (10GB)의 내용을 첫 번째 줄을 건너 뛰는 다른 파일로 복사하려고했습니다 (에서와 같이 head -n1). 나는 머리, 꼬리, awk 및 sed의 여러 가지 방법을 시도했습니다. 사용에 정착tail -n+2 > ./xab.1

link1 link2 link3을 참조하십시오 . 그러나 처리에 로그 시간이 걸립니다. 그것보다 더 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`


답변