[+] Bash, operacje na plikach

Potrzebujesz pomocy z C, C++, perl, python, itp.
Rady
Posty: 87
Rejestracja: 20 kwietnia 2007, 11:57

[+] Bash, operacje na plikach

Post autor: Rady »

Witam mam take pytanie jak mogę odczytać plik linia po linii ??

Dokładniej mam plik plik.cf wyglądający następująco :

Kod: Zaznacz cały

Wiersz1
Wiersz2
Wiersz3
Wiersz4
Za pomącą pętli for chciałbym aby każdy z wierszy pliku został po kolei przypisany zniennej

Kod: Zaznacz cały

d=`wc -l plik.cf | sed -e "s/[ \ta-z.][ \ta-z.]*//g"` - zlicza liczbę wierszy
Licznik=1
for((licznik=1;licznik<$d;licznik++))
do
zmienna= "I tu instrukcja która pobiera mi wiersz o numerze licznik" - TEgo mi brakuje by skrypt działał jak powinien
echo "$zmienna   $licznik" >> nowyplik.cf
done
Lorenzo
Beginner
Posty: 262
Rejestracja: 15 sierpnia 2006, 16:14
Lokalizacja: Kraków

Post autor: Lorenzo »

Może przymitywne ale ;-)

Kod: Zaznacz cały

grep -n '' plik.cf|grep "$licznik:"|cut -d ':' -f2
Wyświetli linie pliku o numerze licznik (mogą być problemy jeżeli w linii znajduje się ":").
Rady
Posty: 87
Rejestracja: 20 kwietnia 2007, 11:57

Post autor: Rady »

Działa świetnie dzięki (punkt for you Lorenzo) o to właśnie mi chodziło :mrgreen: Pełna procedurka poniżej napewno przyda się niejednemu po przerobieniu na własne potrzeby można niezłe rzeczy tym zdziałać. Ja np. wykorzystam to do wysyłania wiadomości grupowej dla wszystkich zalogowanych użytkowników samby jak ktoś by chciał skryp do tego to niech napisze tu to opublikuje jak nie to nie bede forum zaśmiecał ;-)

Kod: Zaznacz cały

#!/bin/bash

d=`wc -l plik.cf  | sed -e "s/[ \ta-z.][ \ta-z.]*//g"`
Licznik=1

for((licznik=1;licznik<$d+1;licznik++))
do
zmienna=`grep -n ''plik.cf  |grep "$licznik:"|cut -d ':' -f2`
echo "$zmienna $licznik"
done
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

Rady a zaglądałeś tutaj -> http://debian.linux.pl/viewtopic.php?p=17847#17847 ?
Na pewno nie a miałeś gotowca.
Wystarczyło dodać let "licznik += 1". Zobacz ile tego masz u siebie : wc, sed, 2x grep, cut i pętla for

Pozdrawiam
Rady
Posty: 87
Rejestracja: 20 kwietnia 2007, 11:57

Post autor: Rady »

jang pisze:a miałeś gotowca
No to rozwiązanie też jest niezłe :-D Jakoś umkneło mojej uwadze :-P W każdym bądź radzie dzieki napewno sie przyda.
ODPOWIEDZ