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/.


Użytkownik



Witam! Mam taką dziwną sytuacje - mam skrypt w bashu oparty na grep'ie
wygląda tak:
#!/bin/bash
grep -v '^[~^]*$' temp.txt | while read p t; do
if [ "$p" = "numer" ]; then
plik=$t
fi
echo "$p $t" >> $plik.php
done
jak można się domyślić - w pliku temp.txt są dane które wyglądają tak:
~
numer 123
djhfksjfdhsadfhsdf
djhsdkhsakd
dfdsfjdshfkds
sdadasd
^
~
numer 345
lkjlkrjewlrjewlrkew
fdkfjdkf
fdsfd
^
itd. itd.
I skrypt ten dzilił mi ten jeden plik na kilka jako kryteria biorąc znaki ~ i ^ a nazwę jaką nadawał każdemu z nich to numer ( poniżej znaku ~ ). I wszystko się wykonywało OK! A teraz kiedy wykonam ten skrypt dostaje coś takiego:
./wykon.sh: line 6: $plik.php: ambiguous redirect
./wykon.sh: line 6: $plik.php: ambiguous redirect
./wykon.sh: line 6: $plik.php: ambiguous redirect
itd.
W lini 6 mam wpis -
echo "$p $t" >> $plik.php
Nie bardzo kapuje co mogło się stać???
Offline


Użytkownik



Już wiem dlaczego! - Bo plik temp.txt kopiuje mi się binarnie! Jeśli skopiuje go ręcznie tekstowo to jest ok! Tylko cp chyba nie ma opcji kopiowania tekstowego?? Niewiem jak mv. Ma ktoś jakiś pomysł??
Offline



Łowca lamerów




A gdybyś tak na przykład skopiował plik cat'em? Na przykład
cat pliczek > ~/pliczek
Offline




Moderator Mamut
jezeli to nie jest archaiczny system to nie ma rozroznienia na binarne/tekstowe otwieranie/kopiowanie plikow ... wiec raczej patrzylbym w samym skrypcie oraz sciezkach do plikow / prawach dostepu do tyh plikow etc
Offline