Próbuję usunąć pierwsze dwa wiersze i ostatnie cztery wiersze z moich plików tekstowych. Jak mogę to zrobić w Bash?Jak usunąć pierwsze dwa wiersze i ostatnie cztery wiersze z pliku tekstowego z bash?
Odpowiedz
$ tail -n +3 file.txt | head -n -4 > file.txt.new && mv file.txt.new file.txt
+1 za nieużywanie 'kot'. –
Dziękuję bardzo. – rebca
Zauważ, że z Git Bash pod Windows, 'tail -n + 3' działa, ale' head -n -4' mówi 'nieprawidłową liczbę linii'. Wygląda jak błąd (być może używana jest stara wersja 'head'). –
przedniego i tylnego
cat input.txt | tail -n +3 | head -n -4
Sed Rozwiązanie
cat input.txt | sed '1,2d' | sed -n -e :a -e '1,4!{P;N;D;};N;ba'
Nie musisz używać 'cat':' tail -n +3 input.txt | ... 'działa idealnie (i tak samo dla' sed'). – huon
... Dzięki ... ... – Debaditya
Dziękuję za rozwiązanie sed; Potrzebowałem go na maszynie, która nie dopuszcza ujemnych numerów linii dla głowy. (Nawiasem mówiąc, 4 w pierwszym poleceniu należy zanegować.) – eswald
Można zadzwonić edytor ex z wiersza poleceń bash, używając poniższej próbki. Zauważ, że używa here document, aby zakończyć listę poleceń na przykład.
ex text.file << EOF
1,2d
$
-3,.d
x
EOF
Jest to najszybszy sposób znalazłem:
sed -i 1,2d filename
-i jest nieprawidłowy –
'-i rozszerzenie Edycja plików w miejscu, zapisywanie kopii zapasowych z określonym rozszerzeniem. Jeśli podane zostanie rozszerzenie o zerowej długości, kopia zapasowa nie zostanie zapisana. Nie zaleca się dodawania przedłużenia długości na zero podczas edycji plików w miejscu, ponieważ ryzykujesz uszkodzenie lub częściową zawartość w sytuacjach, gdy miejsce na dysku jest wyczerpane, itp. " – finferflu
Tak mówi dokumentacja, przynajmniej implementacja sed na moim systemie ... – finferflu
- 1. Pierwsze dwa ostatnie wiersze w pliku tekstowym
- 2. Jak sparować co dwa wiersze pliku tekstowego z Bash?
- 3. Jak usunąć wiersze danych w środku pliku tekstowego z Ruby
- 4. Jak usunąć pierwsze i ostatnie wiersze i kolumny z tablicy 2D numpy?
- 5. Jak odczytać ostatnie "n" wiersze pliku logu
- 6. Jak usunąć wiersze z DataGridView?
- 7. Jak usunąć wiersze z openpyxl?
- 8. Wybierz ostatnie dotknięte wiersze
- 9. Usuń reoccuring wiersze z pliku tekstowego o zwiększonej wydajności
- 10. DataTable, Jak warunkowo usunąć wiersze
- 11. Jak czytać plik Excela pomijając pierwsze dwa wiersze
- 12. Jak usunąć zduplikowane wiersze z macierzy
- 13. Dane pliku tekstowego analizujące wiersze i dane wyjściowe jako kolumny
- 14. Jak usunąć zduplikowane wiersze z SQL?
- 15. Jak usunąć wszystkie wiersze z siatki Kendo
- 16. Jak mogę usunąć puste wiersze z pliku wmic?
- 17. Czytaj linie z pliku tekstowego, ale pomiń pierwsze dwie linie.
- 18. Łącz wiersze w Bash
- 19. Jak zabrać ostatnie cztery postacie z varcharu?
- 20. Google BigQuery Usunąć wiersze?
- 21. Jak całkowicie usunąć zduplikowane wiersze
- 22. Jak usunąć wiersze w jqgrid
- 23. Jak usunąć wiersze w Yii2?
- 24. AWK usunąć puste wiersze
- 25. Usunąć wszystkie wiersze z tabeli, rzuca nullpointer
- 26. Jak usunąć puste wiersze z listy C# <string>?
- 27. Jak usunąć pierwsze dwa i ostatnie dwa znaki w ciągu znaków?
- 28. Jak usunąć wiersze z ramki danych na podstawie funkcji podzestawu?
- 29. czytano wiersze z pliku synchronicznie w node.js
- 30. Usunąć dwa ostatnie znaki ciągu
Mogą pomóc w usuwaniu linie na końcu pliku: [http://stackoverflow.com/questions/4881930/bash -remove-the-last-line-from-a-file] (http://stackoverflow.com/questions/4881930/bash-remove-the-last-line-from-a-file) – Linger