Saya memiliki banyak file yang berisi informasi teks ascii di 5-10 baris pertama, diikuti oleh informasi matriks yang ditabulasi dengan baik. Dalam skrip shell, saya ingin menghapus beberapa baris teks pertama ini sehingga saya dapat menggunakan informasi matriks murni di program lain. Bagaimana saya bisa menggunakan perintah bash shell untuk melakukan ini?
Jika ada bantuan, saya menggunakan RedHat dan sistem linux Ubuntu.
Jawaban yang Diterima:
Selama file tersebut bukan symlink atau hardlink, Anda dapat menggunakan sed, tail, atau awk. Contoh di bawah.
$ cat t.txt
12
34
56
78
90
sed
$ sed -e '1,3d' < t.txt
78
90
Anda juga dapat menggunakan sed di tempat tanpa file temp:sed -i -e 1,3d yourfile
. Ini tidak akan menggemakan apa pun, itu hanya akan memodifikasi file di tempat. Jika Anda tidak perlu menyalurkan hasilnya ke perintah lain, ini lebih mudah.
ekor
$ tail -n +4 t.txt
78
90
awk
$ awk 'NR > 3 { print }' < t.txt
78
90