Как удалить последние n символов из строки в Bash

Kak Udalit Poslednie N Simvolov Iz Stroki V Bash



Bash — это популярный язык сценариев оболочки, который широко используется в операционных системах на базе Linux и Unix. Одной из распространенных задач в сценариях Bash является манипулирование строками. Иногда возникает необходимость удалить последние n символов из строки. В этой статье мы рассмотрим несколько методов Bash для удаления последних n символов из строки.

Как удалить последние n символов из строки в Bash

В Bash обрезка пробелов в конце пользовательских вводов или удаление последних n символов из строки может использоваться для очистки имен файлов с нежелательными расширениями:

Способ 1: Использование команды cut

Команда cut в Bash используется для извлечения разделов из каждой строки файла. Его также можно использовать для извлечения определенного диапазона символов из строки. Чтобы удалить последние n символов из строки, мы можем использовать команду cut с параметром -c, и вот ее синтаксис:







эхо 'нить' | резать

Здесь строка — это фактическая строка, из которой мы хотим удалить последние n символов, а n — это количество символов, которые мы хотим удалить, ниже приведен пример, в котором используется приведенный выше синтаксис:



#!/бин/баш

нить '=' 'Привет Линукс'

эхо ' $строка ' | резать -5

В приведенном выше примере мы использовали команду cut, чтобы удалить последние 6 символов из строки «Hello Linux», и на выходе получилось «Hello».



  Графический пользовательский интерфейс, текстовое описание генерируется автоматически





Способ 2: использование команды sed

Sed — это мощный потоковый редактор, который можно использовать для выполнения различных преобразований текста в файле или потоке ввода. Чтобы удалить последние n символов из строки с помощью sed, мы можем использовать следующий синтаксис команды:

эхо 'нить' | но 's/.\{n\}$//'

Здесь n — это количество символов, которые мы хотим удалить из конца строки, а ниже приведен пример использования команды sed:



#!/бин/баш

нить '=' 'Привет Линукс'

эхо ' $строка ' | но 's/.\{6\}$//'

В приведенном выше примере мы использовали команду sed для удаления последних 6 символов из строки «Hello Linux», и на выходе получается «Hello».

  Графический пользовательский интерфейс, текстовое описание генерируется автоматически

Способ 3: использование расширения параметров

Расширение параметра — это функция Bash, которая позволяет нам манипулировать значением переменной. Чтобы удалить последние n символов из строки с помощью расширения параметра, мы можем использовать следующий синтаксис:

${строка::-n}

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

#!/бин/баш

нить '=' 'Привет Линукс'

эхо ${строка::-6}

В приведенном выше примере мы использовали расширение параметра, чтобы удалить последние 4 символа из строки «Hello Linux», и на выходе получилось «Hello».

  Графический пользовательский интерфейс, текстовое описание генерируется автоматически

Заключение

Чтобы удалить последние n символов из строки в bash, можно использовать команду cut, команду sed и расширение параметра. Эти методы просты в использовании и могут быть полезны в различных задачах сценариев Bash. Используя эти методы, мы можем легко манипулировать строками и выполнять преобразования текста в Bash.