所以我在文本文件中加载了大量文件名,这些文件特别是single_open()
个文件:
.log
现在,我有ls *.log > finished_data.txt
个文件列表,如何保留名称但删除.log
扩展名?
我的思维过程是将它们全部重命名?
答案 0 :(得分:7)
只需遍历.log
文件并移动它们:
for file in *.log
do
mv "$file" "${file%.log}"
done
$ d="a.log.log"
$ echo "${d%.log}"
a.log
答案 1 :(得分:1)
通过从末尾删除rename
,使用.log
重命名所有.log
个文件:
rename 's/\.log$//' *.log
\.log$
匹配文件名末尾的.log
,并通过替换为空白而忽略如果您使用的是prename
,那么您可以先进行干跑:
rename -n 's/\.log$//' *.log
如果对要进行的更改感到满意:
rename 's/\.log$//' *.log