Solved

remove spaces from a file name linux

Posted on 2016-09-27
3
59 Views
Last Modified: 2016-09-28
would like to remove the spaces in a file name.  The spaces can be anywhere in the file name.  

having trouble with this.  it says there is no file

ls -1 | while read file
       do
            newfilename=`echo "$file" | 's/ //g'`
             mv $file $newfilename            
       done

thanks
bje
0
Comment
Question by:bje
3 Comments
 
LVL 35

Accepted Solution

by:
Terry Woods earned 500 total points
ID: 41818843
A couple of problems, fixed as follows:
#!/bin/bash
ls -1 | while read file
       do
            newfilename=`echo "$file" | sed 's/ //g'` # you missed "sed" on this line
            mv "$file" $newfilename # you need double quotes around $file on this line
       done

Open in new window


Note that if there are double quotes in a filename, it'll probably fail, but that may not be a problem for you.
0
 
LVL 4

Expert Comment

by:Abhimanyu Suri
ID: 41819878
/home>ls -1 space*
space 1.txt
space 2.txt


/home>
ls -1 space*|while read file
do
echo $file
Var_newname=`echo $file|sed -e 's/ //'`
echo $Var_newname
mv "${file}" ${Var_newname}
done
space 1.txt
space1.txt
space 2.txt
space2.txt

/home>ls -1 space*
space1.txt
space2.txt

<< Update >>
My bad, Terry has already provided the solution.
0
 

Author Comment

by:bje
ID: 41819910
Thank you both.  it is working well.
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Background Still having to process all these year-end "csv" files received from all these sources (including Government entities), sometimes we have the need to examine the contents due to data error, etc... As a "Unix" shop, our only readily …
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question