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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-06-03 08:18:48

  szczypior88 - Członek DUG

szczypior88
Członek DUG
Skąd: Poznań
Zarejestrowany: 2007-02-06
Serwis

dopisywanie treści w środek pliku

wiem, że:

Kod:

echo "treść" > plik

nadpisze plik treścią, że:

Kod:

echo "treść" >> plik

dopisze treść na koniec pliku.
moje pytanie: jak wstawić treść pomiędzy fragment x i y pliku?


http://www.szczypior88.republika.pl/cwp.gif
pozdrawiam
szczypior

Offline

 

#2  2007-06-03 10:27:37

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: dopisywanie treści w środek pliku

mozesz zrobic cos takiego

Kod:

 head -2 a >> b; echo aaaa >>b; tail -1 a >>b

gdzie a i b to sa pliki, mozesz ale po co?

Napisanie programu w C nie zajmnie Ci wiecej niz 5 min.


apt-get install anarchism

Offline

 

#3  2007-06-03 10:49:33

  szczypior88 - Członek DUG

szczypior88
Członek DUG
Skąd: Poznań
Zarejestrowany: 2007-02-06
Serwis

Re: dopisywanie treści w środek pliku

mozesz zrobic cos takiego

Kod:

 head -2 a >> b; echo aaaa >>b; tail -1 a >>b

gdzie a i b to sa pliki, mozesz ale po co?

tylko że mi chodziło o fragmenty tekstu danego pliku, nie o pliki. czyli np.mam plik:

Kod:

wiersz1
wiersz2
wiersz3
wiersz4

i chcę wstawić wierszX pomiędzy np. wiersz 2 i 3

Napisanie programu w C nie zajmnie Ci wiecej niz 5 min.

być może dokładnie tyle by mi zajęło, gdybym znał C :) póki co bawię się prostymi skryptami w bashu :)


http://www.szczypior88.republika.pl/cwp.gif
pozdrawiam
szczypior

Offline

 

#4  2007-06-03 21:06:29

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: dopisywanie treści w środek pliku

kod ktory dalem wstawi linie miedzy istniejace linie w pliku i wynik zapisze do nowego pliku (musisz oczywiscie dobrze sustawic wartosci przy tail i head). jak chcesz by plik tak samo sie nazywal to doloz rm i mv


apt-get install anarchism

Offline

 

#5  2007-06-03 21:23:49

  szczypior88 - Członek DUG

szczypior88
Członek DUG
Skąd: Poznań
Zarejestrowany: 2007-02-06
Serwis

Re: dopisywanie treści w środek pliku

coś się nie potrafimy zrozumieć. moje rozumowanie Twojego skryptu jest takie, że tekst "aaaa" zostanie wstawiony pomiędzy wiersz o treści "a" a wiersz o treści "b". czyli po dostosowaniu zmiennych do mojego przykładu pliku powinno to wyglądać tak:

Kod:

head -2 wiersz2 >> wiersz3; echo wierszX >>wiersz3; tail -1 wiersz2 >>wiersz3

ale to daje wynik:

Kod:

head: nie można otworzyć `wiersz2' do czytania: Nie ma takiego pliku ani katalogu
tail: nie można otworzyć `wiersz2' do czytania: Nie ma takiego pliku ani katalogu

więc próbowałem pokombinować i wyszedł mi skrypt:

Kod:

head -2 plik >> wiersz3; echo wierszX >> wiersz3; tail -1 plik >> wiersz3

tylko że on owszem, wstawia "wierszX" ale nie pomiędzy "wiersz2" a "wiersz3", lecz zastępuje "wiersz3"


http://www.szczypior88.republika.pl/cwp.gif
pozdrawiam
szczypior

Offline

 

#6  2007-06-03 21:50:59

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: dopisywanie treści w środek pliku

Kod:

head -2 plik >> plik_tmp; echo wierszx >> plik_tmp; tail -2 plik >> plik_tmp; rm plik; mv plik_tmp plik

parametr przy head to ilosc wierszy z poczatku pliku ktore maja byc przepisane a parametr przy tail to ilosc wierszy z konca pliku


apt-get install anarchism

Offline

 

#7  2007-06-03 22:08:57

  szczypior88 - Członek DUG

szczypior88
Członek DUG
Skąd: Poznań
Zarejestrowany: 2007-02-06
Serwis

Re: dopisywanie treści w środek pliku

no to teraz zrozumiałem :D tylko że jak skrypt będzie uruchomiony, to on nie ma rozpoznać miejsca, gdzie ma być dokonany wpis poprzez numer wiersza, tylko jego treść, bo może się on w różnych sytuacjach w różnym miejscu znaleźć...


http://www.szczypior88.republika.pl/cwp.gif
pozdrawiam
szczypior

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)