使用文件中包含的字符串重命名 .txt 文件

Renaming .txt files with string contained within the file

我有一个包含 .txt 文件的文件夹,每个文件包含 1 行文本。这些文件被命名为:

file_1.txt
file_2.txt
file_3.txt
file_4.txt

在每个文件中,都有一行文本,其中包含相应音频文件的文本抄本加上括号中的音频文件名称,如下所示:

Some text here (31ca4d158eaef166c37a_18.87_27.76)

对于每个文件,我需要将其重命名为文件中括号内包含的字符串。我已经能够使用以下代码提取括号中的字符串:

awk -F'[()]' '{print }' file_*.txt

这为我提供了每个 .txt 文件中括号内包含的所有字符串的列表,但我无法使用此信息来重命名所有文件。任何帮助将不胜感激。

这是一个多步骤过程的一部分,对我有用的解决方案主要是 awk,但我很高兴听到使用其他语言的解决方案,特别是如果它们内置于 Ubuntu 18.04 (我的 OS).

for file in file_*.txt;do mv -- "$file" "$(awk -F'[()]' '{print }' "$file")";done