Witam, otóż zadanie wygląda tak. Mam plik txt:

GR1 : inazwiskoa
GR1 : inazwiskob
GR2 : inazwiskoc
GR2 : inazwiskod
GR2 : inazwiskoe
GR3 : inazwiskof
GR3 : inazwiskog
GR4 : inazwiskoh
GR4 : inazwiskoi
GR4 : inazwiskoj

Muszę napisać skrypt, który będzie tworzył na foldery "GR1", "GR2", i tak dalej, w zależności od tego, ile będzie tych "GRx" po lewej stronie oraz skrypt musi tworzyć w tych folderach pliki. W folderze "GR1", ma to być "inazwiskoa", "inazwiskob". W "GR2", "inazwiskoc", "inazwiskod", "inazwiskoe" itd. Pliki i foldery mają się robić tylko jeśli takiego folderu/pliku aktualnie nie ma. Oraz musimy wybrać jeden plik. Tzw. "wybrańca". Wszystkim plikom, prócz tym w folderze z wybrańcem, będzie trzeba zrobić "chmod 000", a tym w folderze z wybrańcem tylko możliwość czytania pliku. Na ten moment mam:

#!/bin/bash
cut -d : -f 1 $1 > test
awk 'NR%2==1' "test" > folder
plik=$(awk 'NR-1==0' "folder")
mkdir $plik
plik=$(awk 'NR-2==0' "folder")
mkdir $plik
plik=$(awk 'NR-3==0' "folder")
mkdir $plik
plik=$(awk 'NR-4==0' "folder")
mkdir $plik

Lecz nie wiem jak zrobić, aby tworzyły się tam także pliki, nie wspominając o dalszej części zadania :/

@Edit

Chciałem zrobić, że jak będzie folder to tworzy się w nim plik (na razie obojętnie jaki), a jak nie ma folderu, to wpierw tworzy folder, a potem plik. Zrobiłem coś takiego:

#!/bin/bash
cut -d : -f 1 $1 > test
awk 'NR%2==0' "test" > folder
plik=$(awk 'NR-1==0' "folder")
if [ -d $zmienna ]
then
cd $zmienna
touch test1
cd ..
else
mkdir $plik
cd $zmienna
touch test2
cd ..
fi
plik=$(awk 'NR-2==0' "folder")
mkdir $plik
plik=$(awk 'NR-3==0' "folder")
mkdir $plik
plik=$(awk 'NR-4==0' "folder")
mkdir $plik

Ale jak zrobić, aby zamiast "test" lub "test2" była ta druga część po : czyli "inaziwsko"?

@Edit

Ten problem rozwiązany. Teraz nie wiem jak zrobić, aby do pliku dodawało się tylko GR1, GR2, GR3, GR4, obojętnie gdzie będą, a nie tylko co druga linijka.