0
Skrypt ma z katalogu SRC pobierać pliki o zadanych kodach i tworzyć z tych kodów podkatalogi.
Program ma sprawdzić czy w pliku, którego ścieżkę podajemy jako parametr jego wywołania, zawiera zdefiniowany na liście kod przesyłki. Jeśli zawiera kod AM01 plik ma z zostać przeniesiony do katalogu AM01 (jeśli katalogu nie ma, program ma go najpierw założyć), analogicznie jeśli AMA1 to do AMA1, a jeśli NL01 to do NL01.
Finalnie w katalogu SRC mają pozostać pliki z kodami innymi niż zdefiniowane na liście. W katalogu AM01 wszystkie pliki z kodem AM01, w katalogu AMA1 wszystkie pliki z kodem AMA1, a w katalogu NL01 wszystkie pliki z kodem NL01.
Może jakaś podpowiedź? Na razie nie wykonuje oprócz wyświetlenia jest katalog
Program ma sprawdzić czy w pliku, którego ścieżkę podajemy jako parametr jego wywołania, zawiera zdefiniowany na liście kod przesyłki. Jeśli zawiera kod AM01 plik ma z zostać przeniesiony do katalogu AM01 (jeśli katalogu nie ma, program ma go najpierw założyć), analogicznie jeśli AMA1 to do AMA1, a jeśli NL01 to do NL01.
Finalnie w katalogu SRC mają pozostać pliki z kodami innymi niż zdefiniowane na liście. W katalogu AM01 wszystkie pliki z kodem AM01, w katalogu AMA1 wszystkie pliki z kodem AMA1, a w katalogu NL01 wszystkie pliki z kodem NL01.
Może jakaś podpowiedź? Na razie nie wykonuje oprócz wyświetlenia jest katalog
Kod:
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Niepoprawna liczba argumentów. "
exit 1
fi
LISTA="AM01 AMA1 NL01 "
if [ -d $1 ]
then
echo "Jest katalog!"
exit 1
else
echo "$1 nie jest katalogiem!"
exit 1
fi
for i in *; do
if [ -f "$i" ]; then
z=`cat $i | grep -i $LISTA`
if [ -n "$z" ]; then
echo "Plik $i zawiera kod $z"
if [ -d $z ]; do
echo "Tworze katalog $z"
mkdir $z
mv $z ../
else
echo "Nie robie nic"
fi
fi
done