My directory contains a list of .idat
file pairs ending with either _Grn
or _Red
.
For each pair, I want to create a directory named after the substring before the first _
delimiter and move the files into their respective directories.
If the directories don't exist, create them before moving the files.
My code:
for file in *.idat;
do directory_name=${file%_*} \
mkdir directory_name \
if ${file%_*}==directory_name;
then
mv $file directory_name;
fi;
done
Traceback:
-bash: syntax error near unexpected token `then'
Filenames:
00f3408c-5ad1-4afb-9eac-3392aa92e42c_noid_Grn.idat
00f3408c-5ad1-4afb-9eac-3392aa92e42c_noid_Red.idat
0317b249-9256-47fe-9533-3ca91c07e3fd_noid_Grn.idat
0317b249-9256-47fe-9533-3ca91c07e3fd_noid_Red.idat
039f8688-b4cd-4931-a8f5-40bcb1fbd8f0_noid_Grn.idat
039f8688-b4cd-4931-a8f5-40bcb1fbd8f0_noid_Red.idat
Expected folder names:
00f3408c-5ad1-4afb-9eac-3392aa92e42c
0317b249-9256-47fe-9533-3ca91c07e3fd
039f8688-b4cd-4931-a8f5-40bcb1fbd8f0