Добавить текущую дату и время к имени файла в Bash

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

Метод 1: использование команды date

#!/bin/bash
current_date=$(date +"%Y%m%d")
current_time=$(date +"%H%M%S")
filename="file_${current_date}_${current_time}.txt"
echo "Filename: $filename"

В этом методе команда dateиспользуется с параметрами формата: %Yдля года, %mдля месяца, %dдля дня, %Hдля часа, %Mдля минуты и %Sдля времени второй. Эти параметры объединяются подчеркиванием (_) и добавляются к имени файла.

Метод 2: использование команды timestamp

#!/bin/bash
current_timestamp=$(date +%s)
filename="file_${current_timestamp}.txt"
echo "Filename: $filename"

В этом методе опция +%sс командой dateвозвращает количество секунд, прошедших с эпохи Unix (1 января 1970 г.). Это значение временной метки добавляется к имени файла.

Метод 3: использование функции strftimeв Perl

#!/bin/bash
current_datetime=$(perl -MPOSIX -le 'print strftime("%Y%m%d_%H%M%S", localtime)')
filename="file_${current_datetime}.txt"
echo "Filename: $filename"

В этом методе функция strftimeиз модуля POSIXв Perl используется для форматирования текущей даты и времени по желанию. Отформатированная дата-время затем добавляется к имени файла.