Sunday, October 2, 2022
HomeTechnologyRemoving Spaces Linux/Mac

Removing Spaces Linux/Mac

bash

I had a bunch of files I needed to upload to a web server.  The filenames contained spaces and we know some web browsers don’t like spaces.  There was this script I found on the web.  It worked out really well.

#!/bin/bash

ls > /tmp/list
# we have to make the list file in a separate
# directory so that it doesn’t get included
# in the list of the current directory!
mv /tmp/list ./list
cat list | tr ‘ ‘ ‘_’ > listnew
# this turns spaces into underscores
FILE_COUNT=$(wc -l list | awk ‘{print $1}’)
LOOP=1
while [ “$LOOP” -le “$FILE_COUNT” ]
do
AWKFEED=”FNR==”$LOOP
# the command to feed awk
# output will be ‘FNR==1’, ‘FNR==2’, ..
OLDFILE=$(awk $AWKFEED list)
NEWFILE=$(awk $AWKFEED listnew)
mv “$OLDFILE” “$NEWFILE”
# keep the quotes to make the shell read file
# names with spaces as one file
LOOP=$(($LOOP+1))
done

rm list
rm listnew

exit 0

To get this to work, create a file in the same directory. Change the mode to make sure the file is executable.

References:
http://www.dba-oracle.com/t_fix_linux_data_file_names_special_characters.htm

Edel Alon
Edel Alonhttp://edelalon.com
Edel-Ryan Alon is a starving musician, failed artist, connoisseur of fine foods, aspiring entrepreneur, husband, father of two, geek by day, cook by night, and an all around great guy.
RELATED ARTICLES

Short Trip Packing

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

- Advertisment -spot_img

Read More