I am trying to write a script that will loop through directories, and rename the file in the sub directory to match that of the directory name. I am running into an issue where if a directory has spaces in the name, then that name is split up and I can't do anything with it like I need to.
For example, the folder structure is:
TopLevel ->this is a test -->test.txt
My script so far is:
#!/bin/sh topLevel="/dir1/dir2/TopLevel" for dir in $(ls $topLevel) do echo $dir # for testing purposes to make sure i'm getting the right thing # Get name of directory - i know how to do this # Rename file to match the name of the directory, with the existing extension - i know how to do this done
My expected output would be
/dir1/dir2/TopLevel/this is a test
However, the actual output is
this is a test
Can someone point me in the right direction? It's been awhile since I've done shell scripting. I'm trying to take this script one piece at a time and I seem to be stuck on getting this iteration down.