I want to remove all the white spaces from a given text file. Is there any shell command available for this ? Or, how to use sed
for this purpose.
I want something like below:
$ cat hello.txt | sed ....
I tried this : cat hello.txt | sed 's/ //g'
.But it removes only spaces, not tabs.
Dude, Just python test.py in your terminal.
f = open('/home/hduser/Desktop/data.csv' , 'r')
x = f.read().split()
f.close()
y = ' '.join(x)
f = open('/home/hduser/Desktop/data.csv','w')
f.write(y)
f.close()
This answer is similar to other however as some people have been complaining that the output goes to STDOUT i am just going to suggest redirecting it to the original file and overwriting it. I would never normally suggest this but sometimes quick and dirty works.
cat file.txt | tr -d " \t\n\r" > file.txt
If you want to remove ALL whitespace, even newlines:
perl -pe 's/\s+//g' file
I think you may use sed to wipe out the space while not losing some infomation like changing to another line.
cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'
This is probably the simplest way of doing it:
sed -r 's/\s+//g' filename > output
mv ouput filename
Try this:
tr -d " \t" <filename
See the manpage for tr(1) for more details.
Much simpler to my opinion:
sed -r 's/\s+//g' filename
Easiest way for me ->
echo "Hello my name is Donald" | sed s/\ //g
hmm...seems like something on the order of sed -e "s/[ \t\n\r\v]//g" < hello.txt
should be in the right ballpark (seems to work under cygwin in any case).
Try this:
sed -e 's/[\t ]//g;/^$/d'
(found here)
The first part removes all tabs (\t
) and spaces, and the second part removes all empty lines
Source: Stackoverflow.com