1.把文件.txt后缀改为.log后缀
[20:12:06 root@centos8 tset ]#ls
atxt.c ctxt.c etxt.c gtxt.c itxt.c ktxt.c mtxt.c otxt.c qtxt.c stxt.c utxt.c wtxt.c ytxt.c
btxt.c dtxt.c ftxt.c htxt.c jtxt.c ltxt.c ntxt.c ptxt.c rtxt.c ttxt.c vtxt.c xtxt.c ztxt.c
[20:12:09 root@centos8 tset ]#rename txt.c .txt *
[20:12:44 root@centos8 tset ]#ls
a.txt c.txt e.txt g.txt i.txt k.txt m.txt o.txt q.txt s.txt u.txt w.txt y.txt
b.txt d.txt f.txt h.txt j.txt l.txt n.txt p.txt r.txt t.txt v.txt x.txt z.txt
[20:12:46 root@centos8 tset ]#rename .txt .log *
[20:13:07 root@centos8 tset ]#ls
a.log c.log e.log g.log i.log k.log m.log o.log q.log s.log u.log w.log y.log
b.log d.log f.log h.log j.log l.log n.log p.log r.log t.log v.log x.log z.log
[20:13:08 root@centos8 tset ]#
2利用for循环修改文件名 #因为刚开始学习,能力有限,现在只能在.log后面追加.txt修改,而且命令会过长,还不如用rename修改
[20:41:54 root@centos8 tset ]#ls
a.log c.log e.log g.log i.log k.log m.log o.log q.log s.log u.log w.log y.log
b.log d.log f.log h.log j.log l.log n.log p.log r.log t.log v.log x.log z.log
[20:42:01 root@centos8 tset ]#for file in *; do mv $file $file.txt;done
[20:44:17 root@centos8 tset ]#ls
a.log.txt d.log.txt g.log.txt j.log.txt m.log.txt p.log.txt s.log.txt v.log.txt y.log.txt
b.log.txt e.log.txt h.log.txt k.log.txt n.log.txt q.log.txt t.log.txt w.log.txt z.log.txt
c.log.txt f.log.txt i.log.txt l.log.txt o.log.txt r.log.txt u.log.txt x.log.txt
[20:44:19 root@centos8 tset ]#
最后写了一个小脚本试了一下
[22:06:29 root@centos8 tset ]#bash /data/rename_file.sh
[22:06:31 root@centos8 tset ]#ls
a.txt c.txt e.txt g.txt i.txt k.txt m.txt o.txt q.txt s.txt u.txt w.txt y.txt
b.txt d.txt f.txt h.txt j.txt l.txt n.txt p.txt r.txt t.txt v.txt x.txt z.txt
[22:07:00 root@centos8 tset ]#cat /data/rename_file.sh
#!/bin/bash
DIR=/data/tset
cd $DIR
for FILE in *;do
PRE=`echo $FILE|cut -d. -f 1`
mv $FILE $PRE.txt
done