Для этой конкретной задачи что-то вроде этого будет работать:
$ sed 's/^ *//g' < input.txt > output.txt
В нем говорится, что все пробелы в начале строки должны быть заменены ничем. Если вы также хотите удалить вкладки, измените это на:
$ sed 's/^[ \t]+//g' < input.txt > output.txt
Начальная буква "s" перед / означает "заменить". Символы / являются разделителями для шаблонов. Данные между первыми двумя / являются шаблоном для сопоставления, а данные между вторым и третьим / - это данные для его замены. В этом случае вы заменяете его ничем. «G» после последней косой черты означает «глобально», то есть: по всему файлу, а не только по первому найденному совпадению.
Наконец, вместо < input.txt > output.txt
вы можете использовать опцию -i
, которая означает редактирование файла "на месте". Это означает, что вам не нужно создавать второй файл, который будет содержать ваш результат. Если вы используете эту опцию, вы потеряете свой оригинальный файл.