How to remove trailing whitespace?

You can remove trailing whitespace from a file using several methods. Here are a few common approaches:

Using sed

You can use the sed command to remove trailing whitespace from each line in a file:

sed -i 's/[ \t]*$//' filename.txt
  • -i: Edits the file in place.
  • s/[ \t]*$//: Substitutes trailing spaces and tabs with nothing.

Using awk

You can also use awk to achieve the same result:

awk '{$1=$1}1' filename.txt > temp.txt && mv temp.txt filename.txt

This command reassigns the fields, effectively trimming leading and trailing whitespace.

Using tr

If you want to remove trailing whitespace from the output of a command, you can use tr:

tr -d '[:space:]' < filename.txt > newfile.txt

However, this will remove all whitespace, not just trailing whitespace.

Using perl

Another option is to use perl:

perl -pi -e 's/[ \t]+$//' filename.txt

This command will also edit the file in place and remove trailing spaces and tabs.

Using find and xargs

If you want to remove trailing whitespace from multiple files, you can use:

find . -type f -name "*.txt" -print0 | xargs -0 sed -i 's/[ \t]*$//'

This command finds all .txt files in the current directory and removes trailing whitespace from them.

Choose the method that best fits your needs!

0 Comments

no data
Be the first to share your comment!