Shell脚本批量添加扩展名的两种方法分享

方法1:

代码如下:

for file in  `ls`; do mv $file $file.txt; done

方法2:

代码如下:

find . -type f |xargs -i mv {} {}.txt

还有一些试验不成功的,先记录在此。

1.用rename命令修改后缀名,这个是最简单最省事的办法

代码如下:

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 00:57 rename1.log

-rw-r–r– 1 root root 0 09-27 00:57 rename2.log

-rw-r–r– 1 root root 0 09-27 00:57 rename3.log

-rw-r–r– 1 root root 0 09-27 00:57 rename4.log

-rw-r–r– 1 root root 0 09-27 00:57 rename5.log

[root@demo test_rename]# rename log txt *.log #把*.log改为*.txt

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 00:57 rename1.txt

-rw-r–r– 1 root root 0 09-27 00:57 rename2.txt

-rw-r–r– 1 root root 0 09-27 00:57 rename3.txt

-rw-r–r– 1 root root 0 09-27 00:57 rename4.txt

-rw-r–r– 1 root root 0 09-27 00:57 rename5.txt

[root@demo test_rename]#

2.用for、sed和mv修改后缀名

代码如下:

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 01:51 rename1.log

-rw-r–r– 1 root root 0 09-27 01:21 rename2.log

-rw-r–r– 1 root root 0 09-27 01:21 rename3.log

-rw-r–r– 1 root root 0 09-27 01:21 rename4.log

-rw-r–r– 1 root root 0 09-27 01:21 rename5.log

[root@demo test_rename]# for i in $(ls .)

> do

> mv $i $(echo $i|sed ‘s/\.log/\.txt/')

> done

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 01:51 rename1.txt

-rw-r–r– 1 root root 0 09-27 01:21 rename2.txt

-rw-r–r– 1 root root 0 09-27 01:21 rename3.txt

-rw-r–r– 1 root root 0 09-27 01:21 rename4.txt

-rw-r–r– 1 root root 0 09-27 01:21 rename5.txt

[root@demo test_rename]#

3.用find和xargs添加后缀名

代码如下:

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 02:20 rename1

-rw-r–r– 1 root root 0 09-27 02:20 rename2

-rw-r–r– 1 root root 0 09-27 02:20 rename3

-rw-r–r– 1 root root 0 09-27 02:20 rename4

-rw-r–r– 1 root root 0 09-27 02:20 rename5

[root@demo test_rename]# find . -type f |xargs -i mv {} {}.txt

[root@demo test_rename]# ll

总计 20

-rw-r–r– 1 root root 0 09-27 02:20 rename1.txt

-rw-r–r– 1 root root 0 09-27 02:20 rename2.txt

-rw-r–r– 1 root root 0 09-27 02:20 rename3.txt

-rw-r–r– 1 root root 0 09-27 02:20 rename4.txt

-rw-r–r– 1 root root 0 09-27 02:20 rename5.txt

[root@demo test_rename]#

(0)

相关推荐

  • Shell脚本批量添加扩展名的两种方法分享

    方法1: 复制代码 代码如下: for file in  `ls`; do mv $file $file.txt; done 方法2: 复制代码 代码如下: find . -type f |xargs -i mv {} {}.txt 还有一些试验不成功的,先记录在此. 1.用rename命令修改后缀名,这个是最简单最省事的办法 复制代码 代码如下: [root@demo test_rename]# ll 总计 20 -rw-r–r– 1 root root 0 09-27 00:57 renam

  • Shell脚本中非交互式修改密码的两种方法

    今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种常见的非交互式设置密码的方式: 1:使用chpasswd chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍 格式:# echo 用户名:密码 | chpasswd 实例: 添加一个doiido的帐号,密码为123456 复制代码 代码如下: # ech

  • php文件扩展名判断及获取文件扩展名的N种方法

    下面代码是php文件扩展名判断 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content="text/html" charset="utf-8"> <title>check file</title> </head> <body> <b>文件扩展名验证</b>

  • PHP获取文件扩展名的4种方法

    本文实例讲述了PHP获取文件扩展名的4种方法.分享给大家供大家参考,具体如下: $filename="123.jpg"; //方法一: function get_ext($file_name){ return array_pop(explode('.', $file_name)); //用.号对字符串进行分组 } echo get_ext($filename); //方法二: $fileEx=strtolower(substr(strrchr($filename,".&quo

  • Vue 实现列表动态添加和删除的两种方法小结

    下面将介绍两种方式实现动态添加和删除列表 1.不使用组件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 - vue实现列表增加和删除</title> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script&g

  • docker已启动容器修改添加端口映射的两种方法

    目录 简述 一.先提交,在配置 1.先将容器提交为镜像 2.创建新的容器并运行 二. 修改配置文件 1.关闭docker服务 2.修改hostconfig.json 3.修改config.v2.json 4.重启 docker服务 5.查看配置项已经修改成功 补充:docker容器怎么开端口 总结 简述 正常情况下,在你创建容器时可以添加多个端口映射,写法如下 每个端口映射都加一个-p docker run -itd --name centos -p 4000:8081 -p 3306:3306

  • C语言实现倒置字符串的两种方法分享

    目录 前言 一.题目 二.思路讲解 三.代码实现 四.代码总结 五.第二种方法倒置字符串 六.总结 前言 今天在牛客网上刷了一道题,我感觉挺有意义的,现在我就分享给大家,并且告诉大家解题思路. 一.题目 事例: 输入下列字符: I like beijing. 输出的字符: beijing. like I 二.思路讲解 1.设立一个数组存放输入的字符串 2.将其中每个单词进行逆置 得到 I ekil .gnjieb 3.再将字符串逆置  得到beijing.like I 三.代码实现 1.设立一个

  • Access中批量替换数据库内容的两种方法

    今天遇到一个问题,一Access数据库中存放着N条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象这是什么样的工作量.其实在Access数据库中可以利用SQL语句来批量替换内容,只需一句话就能解决问题,下面通过两种方法来解决此问题. 方法一:通过Access数据库中的查询分析器来修改(这里我使用的是Access 2003) 1.打开需要修改的Access数据库 2.在数据库"对象"中点

  • 用Mootools获得操作索引的两种方法分享

    我们先说一下第一种方法,(此方法为一位QQ好友提供,感谢此人,此人昵称是:exf) 复制代码 代码如下: <body> <ul>Title1 <li>11111</li> </ul> <ul>Title2 <li>22222</li> </ul> <ul>Title3 <li>33333</li> </ul> <ul>Title4 <

  • gridview实现服务器端和客户端全选的两种方法分享

    复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="

随机推荐