欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

linux下修改以某个字母开头的文件后戳

来源:本站整理 作者:佚名 时间:2017-07-23 TAG: 我要投稿

1、怎么在linux下修改以某一字母开头的文件后戳
源文件内容
[root@localhost test]# ls
stu10.txt.php  stu3.txt.php  stu6.txt.php  stu9.txt.php  test3.txt
stu1.txt.php   stu4.txt.php  stu7.txt.php  test1.txt     test4.txt
stu2.txt.php   stu5.txt.php  stu8.txt.php  test2.txt     test5.txt
现在我们将以s开头的所有文件的后戳修改为.html
第一步:先将以s开头的文件找出来
[root@localhost test]# find -type f -name "s*"
./stu8.txt.php
./stu7.txt.php
./stu6.txt.php
./stu9.txt.php
./stu3.txt.php
./stu4.txt.php
./stu2.txt.php
./stu5.txt.php
./stu1.txt.php
./stu10.txt.php

第二步:取文件的前半部分
[root@localhost test]# find -type f -name "s*"|awk -F"[./]+" '{print $2}'
stu8
stu7
stu6
stu9
stu3
stu4
stu2
stu5
stu1
stu10
第三步:使用拼接的方法来实现文件后戳的修改
[root@localhost test]# find -type f -name "s*"|awk -F"[./]+" '{print "mv "$2".txt.php "$2".html"}'
mv stu8.txt.php stu8.html
mv stu7.txt.php stu7.html
mv stu6.txt.php stu6.html
mv stu9.txt.php stu9.html
mv stu3.txt.php stu3.html
mv stu4.txt.php stu4.html
mv stu2.txt.php stu2.html
mv stu5.txt.php stu5.html
mv stu1.txt.php stu1.html
mv stu10.txt.php stu10.html
第四步:将拼接的内容交给bash来处理
[root@localhost test]# find -type f -name "s*"|awk -F"[./]+" '{print "mv "$2".txt.php "$2".html"}'|bash
第五步:查看修改后的内容
[root@localhost test]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu10.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu1.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu2.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu3.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu4.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu5.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu6.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu7.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu8.html
-rw-r--r--. 1 root root 0 Jul 22 11:47 stu9.html
-rw-r--r--. 1 root root 0 Jul 22 11:41 test1.txt
-rw-r--r--. 1 root root 0 Jul 22 11:41 test2.txt
-rw-r--r--. 1 root root 0 Jul 22 11:41 test3.txt
-rw-r--r--. 1 root root 0 Jul 22 11:41 test4.txt
-rw-r--r--. 1 root root 0 Jul 22 11:41 test5.txt
可以看到已经将所有以s开头的文件名后戳全部修改为.html

2、以上修改文件后戳的方法还可以使用脚本来实现
脚本内容如下
#!/bin/bash
workDir=/server/file/test        将目录定义为一个变量
if [ -d $workDir ];then          判断目录是否存在,存在则进入,不存在则推出
  cd $workDir
else
  exit 1
fi
for i in $(find -type f -name "[s]*")    用for循环来查找以s开头的文件
do
  char=`echo $i|awk -F"[/.]+" '{print $2}'`     定义要修改的文件前半部分
  mv $i ${char}.html                     将文件修改为想要的内容
done

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载