Strona Główna Unixy.pl
Internetowe forum na temat systemów GNU/Linux Unix

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload
 Ogłoszenie 
Strona korzysta z plików cookies w celu realizacji usług (logowanie do konta itp.). Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.

Poprzedni temat «» Następny temat
UNIX - rand() prosze o pomoc
Autor Wiadomość
Toudi

Dołączył: 27 Kwi 2010
Posty: 6
Wysłany: 2010-04-27, 15:54   UNIX - rand() prosze o pomoc

witam

potrzebuje zrobic nastepujaca rzecz
mam plik z danymi (ponizej fragment)
....
<101>ssdsjcnsjnc
<104>imie nazwisko
.....
<101>kfjdkfjdkfjdk
<104>imie2 nazwisko2
.....
potrzebuje do kazdej linni zaczynajacej sie od <104> dopisac na koniec losowo 0 lub 1 (zeby bylo 50% zer i 50% jedynek)

macie jakis pomysl jak w tym uzyc rand() badz innej funkcji?


tak powinien wyglada wynik
...
<101>ssdsjcnsjnc
<104>imie nazwisko 0
.....
<101>kfjdkfjdkfjdk
<104>imie2 nazwisko2 1
.....
 
     
Maciek_Rutecki 
Administrator

JID: bc547@jabber.gda.pl
Pomógł: 39 razy
Dołączył: 07 Cze 2005
Posty: 2959
Wysłany: 2010-04-27, 21:25   

Mała podpowiedź jak podmieniać stringi:
Kod:
maciek@gumis:~/temp$ cat fff.sh
#!/bin/bash
file=test.txt
rand=0
cat "$file" | {
  while read line; do
    if [[ $line == *$1* ]]; then
      echo $line $rand
    else
        echo $line
    fi
  done
}


Kod:
maciek@gumis:~/temp$ cat test.txt
<101>ssdsjcnsjnc
<104>imie nazwisko
.....
<101>kfjdkfjdkfjdk
<104>imie2 nazwisko2


Rand w bashu:
http://tldp.org/LDP/abs/html/randomvar.html
_________________
Maciek
http://www.maciek.unixy.pl
 
     
Toudi

Dołączył: 27 Kwi 2010
Posty: 6
Wysłany: 2010-04-28, 08:19   

Maciek_Rutecki napisał/a:
Mała podpowiedź jak podmieniać stringi:
Kod:
maciek@gumis:~/temp$ cat fff.sh
#!/bin/bash
file=test.txt
rand=0
cat "$file" | {
  while read line; do
    if [[ $line == *$1* ]]; then
      echo $line $rand
    else
        echo $line
    fi
  done
}


Kod:
maciek@gumis:~/temp$ cat test.txt
<101>ssdsjcnsjnc
<104>imie nazwisko
.....
<101>kfjdkfjdkfjdk
<104>imie2 nazwisko2


Rand w bashu:
http://tldp.org/LDP/abs/html/randomvar.html



dzieki
a to ostateczna wersja - dzialajaca :)

file=test.txt

cat "$file" | {
while read line; do
if [[ $line == *104* ]];
then
echo $line $(($RANDOM % 2))
else
echo $line
fi
done
}
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group