我有文件:
文件名:report_2020-10-13-17-11.txt
包含:
...
本报告由=John 编写
...
文件名:report_2020-10-13-17-12.txt
包含:
...
本报告由=Doe 编写
...
文件名:report_2020-10-13-17-13.txt
包含:
...
本报告由=Ton 编写
...
文件名:report_2020-10-14-07-25.txt
包含:
...
本报告由=Bolt 编写
...
我想将文件重命名为
John_report_2020-10-13-17-11.txt
Doe_report_2020-10-13-17-12.txt
Ton_report_2020-10-13-17-13.txt
Bolt_报告_2020-10-14-07-25.txt
谢谢
答案1
未经测试
for file in report_*.txt; do
owner=$( grep -Po '(?<=this report was prepared by=)\w+' "$file" )
echo mv "$file" "${owner}_$file"
done
如果结果看起来不错,请删除“echo”