Jak skopiować kilka pierwszych wierszy dużego pliku i dodać wiersz tekstu na końcu, używając niektórych poleceń Linuksa?
Odpowiedzi:
headPolecenie może dostać pierwsze nlinie. Odmiany to:
head -7 file
head -n 7 file
head -7l file
co spowoduje wyświetlenie pierwszych 7 linii pliku o nazwie "file". Polecenie, którego należy użyć, zależy od wersji programu head. Linux będzie działał z pierwszym.
Aby dołączyć wiersze na końcu tego samego pliku, użyj:
echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file
lub:
echo 'first line to add
second line to add
third line to add' >>file
zrobić to za jednym zamachem.
Więc łącząc te dwa pomysły razem, jeśli chcesz pobrać pierwsze 10 wierszy input.txtpliku output.txti dołączyć wiersz z pięcioma "="znakami, możesz użyć czegoś takiego:
( head -10 input.txt ; echo '=====' ) > output.txt
W tym przypadku obie operacje wykonujemy w pod-powłoce, aby skonsolidować strumienie wyjściowe w jedną, która jest następnie używana do tworzenia lub nadpisywania pliku wyjściowego.
Zakładam, że to, co próbujesz osiągnąć, to wstawienie wiersza po kilku pierwszych wierszach pliku tekstowego.
head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt
Jeśli nie chcesz reszty linii z pliku, po prostu pomiń część końcową.
(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