删除文本文件bash中的文件扩展名

use*_*111 2 linux bash

所以我在文本文件中加载了大量文件名,这些.log文件都是特定文件:

ls *.log > finished_data.txt
Run Code Online (Sandbox Code Playgroud)

既然我有.log文件列表,我如何保留名称但删除.log扩展名?我的思维过程是将它们全部重命名?

fed*_*qui 7

只需遍历.log文件并移动它们:

for file in *.log
do
    mv "$file" "${file%.log}"
done
Run Code Online (Sandbox Code Playgroud)

这使用shell参数扩展:

$ d="a.log.log"
$ echo "${d%.log}"
a.log
Run Code Online (Sandbox Code Playgroud)