Не совсем ясно, каковы ваши требования, но, надеюсь, этого достаточно, чтобы вы начали.
Bash развернет глобус до списка имен, так что вы можете перебирать его напрямую. *
для всех файлов в текущем каталоге, test.log.*
, вероятно, более конкретно для ваших файлов.
date
распечатает текущую дату, и вы можете захватить вывод команды в bash, используя $(...)
.
for f in test.log.*; do
mv "$f" "$f.$(date -I)"
done
Полезно, когда такие циклы пишутся для размещения echo
перед командами, чтобы он выводил их вместо запуска, и вы можете подтвердить, что он будет делать то, что вы ожидаете, прежде чем запускать его для реальный.
Запустите это и посмотрите, соответствуют ли команды ожидаемым:
for f in test.log.*; do echo mv "$f" "$f.$(date -I)"; done