Dev bir dosyanın ilk birkaç satırı nasıl kopyalanır ve bazı Linux komutlarını kullanarak sonuna bir metin satırı eklenir?


93

Bazı Linux komutlarını kullanarak dev bir dosyanın ilk birkaç satırını nasıl kopyalayabilirim ve sonuna bir metin satırı ekleyebilirim?


1
Bashhead -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv
Eric Leschinski

Yanıtlar:


152

headKomut ilk alabilirsiniz nsatırları. Varyasyonlar:

head -7 file
head -n 7 file
head -7l file

denilen dosyanın ilk 7 satırını alacak "file". Kullanılacak komut, sürümünüze bağlıdır head. Linux birincisi ile çalışacak.

Aynı dosyanın sonuna satır eklemek için şunu kullanın:

echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file

veya:

echo 'first line to add
second line to add
third line to add' >>file

tek vuruşta yapmak için.

Öyleyse, bu iki fikri birbirine bağlayarak, input.txtdosyanın ilk 10 satırını almak ve output.txtbeş "="karakterli bir satır eklemek istiyorsanız, aşağıdaki gibi bir şey kullanabilirsiniz:

( head -10 input.txt ; echo '=====' ) > output.txt

Bu durumda, çıktı akışlarını tek bir alt kabukta birleştirmek için her iki işlemi de bir alt kabukta yaparız, bu daha sonra çıktı dosyasını oluşturmak veya üzerine yazmak için kullanılır.


22

Başarmaya çalıştığınız şeyin, bir metin dosyasının ilk birkaç satırından sonra bir satır eklemek olduğunu varsayıyorum.

head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt

Dosyadaki satırların geri kalanını istemiyorsanız, sadece kuyruk kısmını atlayın.


3
Alt kabuklar, çıktı dosyasını yeniden açmadan bunu yapmanıza izin verir:(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
hobbs

5

İlk birkaç satır: man head.

Satırları >>ekle: Bash'de (?) Operatörünü kullanın :

echo 'This goes at the end of the file' >> file
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.