Удалите пробелы в каждом начале строки файла, используя bash

Как я могу удалить пробелы в каждой строке файла, используя Баш Например, файл1.формат txt. Раньше:

  gg g
 gg g
t  ttt

после:

gg g
gg g
t  ttt

4 ответов


sed -i 's/ //g' your_file сделает это, изменив файл на месте.

чтобы удалить только пробелы в начале одной строки, используйте sed -i 's/^ *//' your_file

в первом выражении мы заменяем все пробелы ничем. Во втором, мы заменяем в начале, используя ^ ключевое слово


tr(удалить все пробелы):

$ tr -d ' ' <input.txt >output.txt
$ mv output.txt input.txt

sed(удалить пробельные символы)

$ sed -i 's/^ *//' input.txt

использование может использовать perl-i для замены на месте.

perl -p -e 's/^ *//' file 

удалить пробелы перед началом строки, если шаблон совпадает. Используйте следующую команду. Например, ваш foo.В имеет шаблон, как это

      This is a test                                
                    Lolll
                       blaahhh
      This is a testtt

после выдачи следующей команды

sed -e '/This/s/ *//' < foo.in > foo.out

В ФОО.выход будет

This is a test
             Lolll
                blaahhh
This is a testtt