Ubuntuでファイルの中の文字を利用してのファイル名の変更はできますか


Ubuntuにおいて大量のファイルの名前の変更を行いたいです。

全てのテキストエディターで開けるファイルの中に

[code]

    snapshot_prefix: "/home/.../aaa_solver"
    snapshot_prefix: "/home/.../bbb_solver"
    
[/code]

という共通部分があり、この部分を用いてファイル名を

[code]

    aaa.拡張子
    bbb.拡張子
    
[/code]

という風に変更しているのですが、これをスクリプト等を用いて一括変更することは可能なのでしょうか。




こんな感じでしょうか。

[code]

    for x in *; do
        mv "$x" $(sed -ne '\|^snapshot_prefix: "/home/.../\(.*\)_solver"$|{s//\1/;p;q}' "$x").拡張子
    done
    
[/code]




こんな感じでしょうか。

[code]

    for x in *; do
        mv "$x" $(sed -ne '\|^snapshot_prefix: "/home/.../\(.*\)_solver"$|{s//\1/;p;q}' "$x").拡張子
    done
    
[/code]

