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.
The easy way would be select everything (Ctrl+A), go to Edit>Blank Operation>Trim Trailing Space. This should remove all the spaces in between.
The TRIM function is fully automatic. It removes removes both leading and trailing spaces from text, and also "normalizes" multiple spaces between words to one space character only.
$ man tr NAME tr - translate or delete characters SYNOPSIS tr [OPTION]... SET1 [SET2] DESCRIPTION Translate, squeeze, and/or delete characters from standard input, writing to standard output.
In order to wipe all whitespace including newlines you can try:
cat file.txt | tr -d " \t\n\r"
You can also use the character classes defined by tr (credits to htompkins comment):
cat file.txt | tr -d "[:space:]"
For example, in order to wipe just horizontal white space:
cat file.txt | tr -d "[:blank:]"
Much simpler to my opinion:
sed -r 's/\s+//g' filename
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With