如何在目录中多个文件的文件扩展名之前添加当前日期?

1 bash sed awk shell-script rename

如何在目录中多个文件的文件扩展名之前添加当前日期?

原始文件:

Expenses.log
Allowances.log
Run Code Online (Sandbox Code Playgroud)

输出:

Expenses_20170624.log
Allowances_20170624.log
Run Code Online (Sandbox Code Playgroud)

此命令在文件扩展名后附加日期。:(

for file in *; do mv "$file" "${file}_$(date +"%d%m%Y")"; done
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 6

使用参数扩展来分隔扩展:

#! /bin/bash
date=$(date +%Y%m%d)
for file in * ; do
    basename=${file%.*}    # Remove extension
    extension=${file##*.}  # Remove basename
    mv "$file" "$basename"_"$date.$extension"
done
Run Code Online (Sandbox Code Playgroud)