#!/usr/local/bin/runhaskell import System.Directory import Text.Regex.PCRE.Light.Char8 main :: IO () main = do files <- getDirectoryContents "." mapM_ fixIfNeedBe files fixIfNeedBe :: FilePath -> IO () fixIfNeedBe fName = case match (compile "^track([0-9]+)\\.cdda\\.wav$" []) fName [] of Just [_, num] -> do putStrLn (fName ++ " -> " ++ num ++ ".wav") renameFile fName (num ++ ".wav") _ -> return ()