Рейтинг:0

Как удалить ЧЧММСС из имени файла в Linux/Unix?

флаг cn

У меня есть имя файла mahelipaul_YYYYMMDDHHMMSS, мне нужно удалить часть HHMMSS из файла и назначить ее новой переменной.

Мне нужен файл в формате mahelipaul_YYYYMMDD. Как мне это сделать?

pLumo avatar
флаг in
Я действительно не понимаю, хотите ли вы, чтобы имя файла было переменной или изменялось/переименовывалось в файле? В любом случае, что вы пробовали? Кроме того, пожалуйста, опишите ваш фактический вариант использования и дайте нам реальный вклад.
24601 avatar
флаг in
пожалуйста, прочитайте [спросите], затем [отредактируйте] свой вопрос соответственно
MAHELI PAUL avatar
флаг cn
Привет ... имя файла mahelipaul_YYYYMMDDHHMMSS, мне нужно удалить часть временной метки, т.е. HHMMSS .. как я могу использовать команду linux?
Рейтинг:1
флаг vn

В Bash вы можете использовать «нарезку», чтобы вырезать количество символов из строки. Похоже, вы хотите удалить последние 6 символов, и это можно сделать так: (это просто еще один способ сделать то же самое, что и в ответе Гленна)

$ имя_файла=mahelipaul_20201231235959
$ echo "${filename::-6}" # удалить последние 6 символов
mahelipaul_20201231

Если вы хотите наоборот (оставить только последние 6 символов, то это выглядит так:

$ имя_файла=mahelipaul_20201231235959
$ echo "${filename:(-6)}" # оставить только последние 6 символов
235959

Обратите внимание, что я «просто» присваиваю переменную и печатаю новую. Вам нужно использовать эти измененные переменные для создания новых переменных, файлов или чего-то еще, что вы действительно хотите сделать.

я нахожу это Ссылка на Баш действительно полезно.

Рейтинг:1
флаг cn

Самый простой

имя_файла=mahelipaul_20201231235959
echo mv "$filename" "${filename%??????}" # удалить последние 6 символов

Удалите эхо, если оно выглядит правильно.

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.