Viji
@Viji
Junior DevOps Engineer

Как удалить все цифры, пробелы и тире в начале строки — в любом порядке?

Привет всем,

хочу оптимизировать эту ужасную строку, чтобы начиналась только с буквы

extracted_file_name=$(printf '%s' "$extracted_file_name" | sed -e 's/^[[:space:]]*//' | sed -e 's/^[0-9]*//g' | sed -e 's/^[[:space:]]*//' | sed -e 's/^[0-9]*//g' | sed -e 's/^[[:space:]]*//')


работает, но некрасиво
Вадим
  • Вопрос задан
  • 133 просмотра
Решения вопроса 2
xotkot
@xotkot
хорошо есть и хорошо весьма
проще идти от обратного, удалить вначале всё что не есть буква
sed -e 's/^[^[:alpha:]]\+//'
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
extracted_file_name=$(printf '%s' "$extracted_file_name" | sed -e 's/^[[:space:]0-9-]*//')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Viji
@Viji Автор вопроса
Junior DevOps Engineer
собственно говоря, наверное так... хотя не совсем!

extracted_file_name=$(printf '%s' "$extracted_file_name" | sed -e 's/^[[:space:]]*[0-9]*[-]*//')


например такие случаи не учитывает
extracted_file_name=" --- 123 234 abscdfgdgdfg.txt"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы