Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Mam plik 30GB chciałbym z niego na przykład koło 1000 początkowych linii usunąć bez tworzenia kopii edytowanego pliku. Próbuję taką komendą:
sed -i 1,1000d plik
Ale bez skutku.
Offline
jaki komunikat błędu ?
Offline
Błędu nie ma. Problem jest w tym że tworzy się plik z kopią edytowanego pliku.
Offline
Tutaj jest winowacja :)
man sed napisał(-a):
-i[PRZYROSTEK], --in-place[=PRZYROSTEK]
edytuje pliki w miejscu (tworzy kopię zapasową, jeśli podano przyrostek)
Może spróbuj
sed '1,100d' plik
Ostatnio edytowany przez Piotr3ks (2016-03-22 11:53:45)
Offline
Ten sposób w ogóle nie usuwa linii.
Ostatnio edytowany przez lukaz1987 (2016-03-22 13:06:56)
Offline
sed -i '1,3d' PLIK
Mnie to działa :)
zapisuje mi nowy output w pliku PLIK
Natomiast
sed -iCOS '1,3d' PLIK
Tworzy kopię w PLIKCOS i zapisuje zmiany w PLIK
Offline
Dzięki działa.
Offline
lukaz1987 napisał(-a):
Ten sposób w ogóle nie usuwa linii.
U mnie działa :)
piotrek@devtty-pl:~$ sed '1,20d' /etc/passwd | wc -l 18 piotrek@devtty-pl:~$ sed '1,30d' /etc/passwd | wc -l 8 piotrek@devtty-pl:~$ sed '1,35d' /etc/passwd | wc -l 3
Ostatnio edytowany przez Piotr3ks (2016-03-22 18:31:24)
Offline
Tylko bez parametru i sed nie modyfikuje pliku - jedynie wypluwa efekt pracy na ekran co można przekierować do nowego pliku.
Offline
Strony: 1