Bagaimana cara menyalin beberapa baris pertama dari file raksasa dan menambahkan satu baris teks di akhir, menggunakan beberapa perintah Linux?
Jawaban:
The headperintah bisa mendapatkan yang pertama ngaris. Variasinya adalah:
head -7 file
head -n 7 file
head -7l file
yang akan mendapatkan 7 baris pertama dari file yang dipanggil "file". Perintah yang akan digunakan bergantung pada versi Anda head. Linux akan bekerja dengan yang pertama.
Untuk menambahkan baris ke akhir file yang sama, gunakan:
echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file
atau:
echo 'first line to add
second line to add
third line to add' >>file
melakukannya dalam satu pukulan.
Jadi, menyatukan kedua ide ini, jika Anda ingin mendapatkan 10 baris pertama dari input.txtfile output.txtdan menambahkan satu baris dengan lima "="karakter, Anda dapat menggunakan sesuatu seperti:
( head -10 input.txt ; echo '=====' ) > output.txt
Dalam hal ini, kami melakukan kedua operasi dalam sub-shell untuk menggabungkan aliran output menjadi satu, yang kemudian digunakan untuk membuat atau menimpa file output.
Saya berasumsi apa yang Anda coba capai adalah menyisipkan baris setelah beberapa baris pertama dari textfile.
head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt
Jika Anda tidak ingin sisa baris dari file, lewati saja bagian ekor.
(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
head -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv