-1

I have files :

file name: report_2020-10-13-17-11.txt
Contain :
...
this report was prepared by=John
...
file name: report_2020-10-13-17-12.txt
Contain :
...
this report was prepared by=Doe
...
file name: report_2020-10-13-17-13.txt
Contain :
...
this report was prepared by=Ton
...
file name: report_2020-10-14-07-25.txt
Contain :
...
this report was prepared by=Bolt
...


I want to rename the files become

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_report_2020-10-14-07-25.txt

thanks


1 Answers1

0

Untested

for file in report_*.txt; do
    owner=$( grep -Po '(?<=this report was prepared by=)\w+' "$file" )
    echo mv "$file" "${owner}_$file"
done

If the results look OK, remove "echo"

glenn jackman
  • 4,320
  • 16
  • 19