Saya perlu menghapus 42 baris pertama dari dump SQL 2GB.
Saya tahu saya bisa melihat baris pertama menggunakan:
head -n 44 dump.sql
Tetapi apakah ada cara untuk mengedit atau menghapusnya?
command-line
Kohjah Breese
sumber
sumber
tail
. Saya menemukan berkali-kali sesuatu yang baru untuk dipelajari dari jawaban Anda. Terima kasih.sed -i 1,50000000d 17GigFile
membuat file tempsedXYZ
yang mengkonsumsi lebih banyak gigabytes. Apakah ada pendekatan tanpa file temp?tail -n +43
danhead -n 44
seperti yang disebutkan dalam pertanyaan?Ini tampaknya yang paling mudah:
Hapus baris 1-42 dari test.sql dan simpan sebagai test2.sql
sumber
coba ini,
tail -n +43 dump.sql > dump_new.sql
sumber
Anda dapat menggunakan Vim dalam mode Ex:
1
pindah ke baris pertama42
pilih 42 garisd
menghapusx
Simpan dan tutupsumber
Maaf, saya tidak bisa memberikan kode aktual kepada Anda saat ini. Namun, cobalah melihat sesuatu di sepanjang garis
Apa yang harus dilakukan (setelah diformat dengan benar) adalah menghitung jumlah baris dalam file (wc-l), kurangi 44 dari itu (-44) dan kemudian cetak semuanya mulai dengan baris ke-45 dalam file.
Semoga ini bisa membantu dan semoga berhasil.
sumber
wc -l
file, Anda memprosesnya dua kali, sedangkansed
atautail
memprosesnya hanya sekali.Coba ini,
atau,
sumber
Tambahkan saja ini. Jika Anda menggunakan mac, Anda perlu menambahkan ekstensi cadangan. Jawab dari posting ini .
sumber
Karena
sed
perbedaan di Linux dan Mac, saya memutuskan untuk menggunakantail -n +43 dump.sql > dump.sql
format.sumber