Заменяйте каждую вкладку ТОЛЬКО в начале каждой строки пробелами

Поэтому заменить все вкладки в файле пробелами не сложно.
Например, в vim я могу сделать %s/\t/ /gc

И если я хочу заменить те в начале каждой строки, а не в середине, я могу сделать %s/^\t/ /gc

Но если есть строка с одним и строки с большим количеством вкладок в начале и строки с вкладками посередине, и я хочу заменить каждую вкладку в начале строки пробелами, чтобы сохранить структуру отступов файла, то есть что я не знаю, как это сделать.

В vim или sed или обычно с использованием регулярных выражений.

One Solution collect form web for “Заменяйте каждую вкладку ТОЛЬКО в начале каждой строки пробелами”

Вы можете использовать оценочный регистр для замены любого количества вкладок соответствующим количеством пробелов. Например:

 :s/^\t\+/\=repeat(' ',len(submatch(0))) 

Объяснение:

 :s/ " Replace ^ " At the start of a line \t\+ " One or more tabs /\= " With the following evaluated as vimscript: repeat(' ',len(submatch(0))) " 4 spaces times the length of the previously matched string 
  • Как обрабатывать пробелы в именах путей, когда переменная содержит несколько путей
  • Передача аргументов с пробелами и кавычками в скрипт (без цитирования всего)
  • Использование файлов, имеющих пробелы в их имени в трубах
  • Как я могу отредактировать мой скрипт bash для учета пробелов?
  • Как сортировать имена файлов с пробелами в них и объединять файлы?
  • Трейлинг пространства при копировании из gnome-терминала с использованием zsh
  • Interesting Posts

    Как автоматически добавить команду в файл при вызове в оболочке?

    Перезапуск службы клиентов LDAP

    Дублирование установки Linux на основе Yum

    Что использовать для резервного копирования файлов, сохраняя списки ACL?

    Как скопировать только хорошие файлы из одного каталога в другой?

    Как добавить переменные в вывод сценария?

    Какие символы должны быть экранированы в аргументах командной строки?

    Weird вывод при использовании ssh внутри цикла над файлом

    awk scripting для сканирования файлов для определенных слов и создания вывода

    Ошибка синтаксиса вблизи неожиданного токена, выполняемого при циклизации строки с несколькими операторами

    Компиляция mkvtoolnix для маршрутизатора с настраиваемой прошивкой

    Всегда искать домены без доменов FQDN как .example.com?

    Проверьте наличие сетевой карты Redhat

    совпадение шаблона N раз

    Как я могу использовать один и тот же IP-адрес из Интернета и интрасети?

    Linux и Unix - лучшая ОС в мире.