У меня есть несколько имен файлов, начинающихся с "._". Я хотел бы удалить точку и подчеркнуть в сценарии. Как это сделать?
Большое спасибо заранее.
Ваш вопрос может быть интерпретирован двумя способами: «переименование» и «получить имя файла с удаленным ._». Для переименования см. Другие вопросы. Для второй возможности используйте расширение переменной:
name=._file
stripped_name="${name#._}"
# the below will output: ._file becomes file
echo "$name becomes $stripped_name"
Это пробный прогон (имитирует команду, не выполняет ее):
rename -n 's/^\._//' ._*
Если вам нравится вывод, выполните его:
rename -v 's/^\._//' ._*
с использованием rename
:
rename -v 's/\._//' ._*
пример:
$ touch ._aaa
$ rename -v 's/\._//' ._*
._aaa renamed as aaa