如何将100 .txt文件更改为.log文件?

时间:2013-10-25 17:43:42

标签: shell ksh

我想将100个.txt文件更改为.log文件。我有以下过程,但它无法正常工作。

ls |grep *.txt |while read a ; 
do b = 'echo $a |cut d"." -$f1'; 
c=$b ;
mv $a $c; 
done

先谢谢!!

2 个答案:

答案 0 :(得分:4)

for i in *.txt; do mv $i $(basename -s '.txt' $i).log; done

或者,如果您的系统具有rename命令,则更简单:

rename 's/\.txt$/.log/' *.txt

答案 1 :(得分:0)

for i in *.txt
 do
   mv $i ${i%.*}.log
 done

$ {var%“pattern”}从开始到最后一个模式对应(从结尾)(排除)获取变量的内容。所以“。*”在这种情况下削减了.txt。