#!/bin/bash for FILE in *.txt do DIR=${FILE##*_} DIR=${DIR/.txt/} [ ! -d $DIR ] && mkdir $DIR mv $FILE $DIR done