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/.
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
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
A gdybyś tak na przykład skopiował plik cat'em? Na przykład
cat pliczek > ~/pliczek
Offline
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