Mam plik 'test'
Kod: Zaznacz cały
pimpek
hamulce
kalafior
bomba
papryka
Pozdrawiam
Moderatorzy: Moderatorzy, Administratorzy
Kod: Zaznacz cały
pimpek
hamulce
kalafior
bomba
papryka
Kod: Zaznacz cały
#!/bin/bash
for i in `cat $1`; do
mkdir $i
done
Kod: Zaznacz cały
./skrypt.sh twoj_plik
Kod: Zaznacz cały
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Podaj plik z katalogami!"
exit 1
fi
DIRFILE=$1
if [ ! -r "$DIRFILE" ]; then
echo "Nie mozna czytac z pliku $DIRFILE"
exit 2
fi
for fdir in $(cat $DIRFILE) ; do
if [ -d $fdir ]; then
echo "Katalog - $fdir - istnieje!"
else
echo "Tworze katalog $fdir"
mkdir -p $fdir 2>>/dev/null
if [ $? -ne 0 ]; then
echo "Tworzenie katalogu nie powiodlo sie!"
fi
fi
done
Kod: Zaznacz cały
while IFS= read DIR; do
mkdir -pv -- "$DIR"
done <"$1"
Nie! Katalogi stworzy. Ewentulanie pierwszy warunek if sprawi mu problem. Ale be "" bedzie ooOOKkmina86 pisze: difrost, no niestety - Twój kod stworzy jeden katalog o nazwie taka jak zawartość całego pliku.
egh ciagle zapominam o readmina86 pisze:nOrNIc, niby poprawnie, ale po co robić for .. in $(cat ..)?
Kod: Zaznacz cały
$ cat foo
asd
qwe
zxc
$ for fdir in "$(cat foo)"; do echo Tworze katalog "$fdir"; done
Tworze katalog asd
qwe
zxc
$
katalogi sa, ale w takim wypadku po co ten balagan w komunikatach - tylko myla.difrost pisze:A sa katalogi??
Do nOrRy!!! Siedz sobie tam na tym Windosie i klikaj w Exploder!nOrNIc pisze:katalogi sa, ale w takim wypadku po co ten balagan w komunikatach - tylko myla.difrost pisze:A sa katalogi??
Znow niepotrzebnie komplikujesz kod
Ty juz mnie nie draznij. Tyle co przez ostatnie tygodnie to ja myszki nigdy w rekach nie mialem...difrost pisze:Do nOrRy!!! Siedz sobie tam na tym Windosie i klikaj w Exploder!
Kod: Zaznacz cały
xargs mkdir -pv -- <plik
Ale w pierwotnym zadaniu bylo ze katalogi oddzielone sa \n a nie bialym znakiem. Poza tym chyba niektorzy lubi nazwy katalogow ze spacja w srodkumina86 pisze:W ogole, jeżeli nazwy katalogów mają być oddzielone spacją (czy innym białym znakiem), a niekoniecznie znakiem przejścia do nowej linii to wybaczcie, ale po co jakieś pętle?
Kod: Zaznacz cały
xargs mkdir -pv -- <plik
No to ani Twoje rozwiązanie ani rozwiązanie difrosta nie jest poprawne.nOrNIc pisze:Ale w pierwotnym zadaniu bylo ze katalogi oddzielone sa \n a nie bialym znakiem. Poza tym chyba niektorzy lubi nazwy katalogow ze spacja w srodku