Removing the file extension in a text file bash
本问题已经有最佳答案,请猛点这里访问。
所以我在一个文本文件中放了一堆文件名,这些文件是特定的
1 | ls *.log > finished_data.txt |
既然我有了
只需循环访问
1 2 3 4 | for file in *.log do mv"$file""${file%.log}" done |
这将使用shell参数扩展:
1 2 3 | $ d="a.log.log" $ echo"${d%.log}" a.log |
使用
1 | rename 's/\.log$//' *.log |
\.log$ 与文件名末尾的.log 匹配,用空白替换
如果您使用的是
1 | rename -n 's/\.log$//' *.log |
如果对要进行的更改满意:
1 | rename 's/\.log$//' *.log |