文章目录

  • 前言
  • 一、单个文件
  • 二、Bash脚本
  • 三、Bash命令行
  • 四、Csh
  • 总结

前言

本文旨在纪录在liunx环境下如何批量更改文件名。
本文所有的例子都是为了检测出当前路径下的所有后缀是“.txt”的文件,并更改后缀为“.cpp”。


一、单个文件

对于单个文件的改名,直接在当前目录下终端或shell脚本输入“mv”命令:

mv 111.txt 111.cpp

注: 以下的所有命令一定要注意英文单引号、英文间隔号(和~同键的)的区别。


二、Bash脚本

目前linux环境多为bash环境,编写bash脚本代码如下:

#! /bin/bash
for filename in `ls *.txt`
doecho $filename | mv $filename `sed 's/.txt/.cpp/g'`
done

代码解释:
bash中是可以使用for循环的。
循环变量filename是按序检测出来的当前目录下的以.txt为后缀的文件名,每检测出来一个赋给$filename然后执行do循环中的命令。
循环中使用管道和“sed”命令,sed命令是shell语言的重要指令,建议多学习与了解。这里的sed命令就是把filename中的所有“.txt”更改为“.cpp”。
在你想要更改文件名的路径下新建脚本然后chmod赋予权限,或者在其他脚本中插入这一段命令,就可以实现批量更改文件名了。


三、Bash命令行

如果只是需要更改文件名,那只需要在当前路径下的终端命令行输入以下命令:

for f in `ls *.txt`;do echo $f | mv $f `sed 's/.txt/.cpp/g'`;done

与使用脚本的区别只是在于用“;”代替了回车,从而可以在命令行中输入与执行。


四、Csh

csh中不能用for循环,只有while和foreach循环,采用以下命令:

#! /bin/csh -f
foreach f(`ls *.txt`)mv $f `echo $f | sed 's/.txt/.cpp/g'`

如果是csh环境的linux终端,上述命令回车改为空格即可。
一定要注意`和’的区别!!!


总结

灵活使用循环命令,结合mv指令和sed指令,加上管道,即可实现批量修改文件名。
同理,用类似的方法可以对文件进行其他的批量操作。

Linux批量更改文件名——Bash/Csh相关推荐

  1. linux下批量改文件名命令,Linux 批量更改文件名命令

    想把一部分文件加上日期序.也就是在文件名称前加上当前的年月日进行输出. 获取日期格式如下 Zianed@ubuntu:~/public_web_sSmO9OUVY1/files/image$ date ...

  2. linux 批量更改文件名后缀,批量修改文件名及扩展名

    1.变量基础知识 ${var}        变量var的值, 与$var相同 ${var-DEFAULT}如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} ...

  3. linux+批量更改文件名后缀,Linux批量更改文件后缀名

    Linux下批量修改文件名 rename  的一种用法. 一:问题的提出 比如我的/home/cyq/cyq  有 m.php;1    n.php;1   俩个文件,怎么将文件名的 ;1    去掉 ...

  4. linux+批量更改文件名后缀,关于linux系统下批量修改文件名和后缀

    总会遇到遇到处理文件的问题,比如文件后缀修改,以前都是写shell,后来发现有个更简单的方法 rename 1,在centos 下是用c 写的 rename 用法: a.txt  修改为 a.cc r ...

  5. linux sed名宁,Linux shell利用sed批量更改文件名的方法

    微子网络与大家分享了在Linux shell中使用sed批量更改文件名的方法.希望你看完这篇文章有所收获.大家一起讨论一下. 示例 去除特定字符 目标:把2017-01-01.jpg和2018-01- ...

  6. linux 文件拆分 原后缀,Linux批量更改文件后缀-转载

    一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename . ...

  7. linux批量过去5小时前文件名,Linux批量修改文件名

    Linux批量修改文件名 2016.05.12 最近半个月在疯狂地做一些实验,然后需要批量地对一些文件的名字进行修改,而手工操作极其繁琐,在之前的博文中我说到我用了Cygwin软件,今天就告诉大家如何 ...

  8. Linux 批量修改文件名(前缀或后缀)

    @羲凡--只为了更好的活着 Linux 批量修改文件名(前缀或后缀) 有些文件的要求前缀或后缀要一样,或者批量的将文件重命名 添加前缀: for i in `ls`; do mv -f $i `ech ...

  9. linux批量替换文件名中的日期,rename:Linux 批量修改文件名命令,支持正则表达式...

    昨天有需要要用到 Linux 批量改文件名,网上查了下,大多都是用 shell 脚本来实现的.我看了看那几句 shell 脚本,那几个 % 和 $ 的符号实在是没搞懂,也不想花时间去研究,于是又搜了搜 ...

最新文章

  1. 如何成为一个合格的 Java程序员
  2. ObjectOutputStream 和 ObjectInputStream的使用
  3. php一些高级函数方法
  4. POJ 1042 Gone Fishing【枚举+贪心】
  5. python计算AA制时砍价后大家需要分摊的钱
  6. 张雪峰考研计算机怎么选学校,考研该如何选择学校?张雪峰老师妙语连珠
  7. (剑指Offer)面试题46:求1+2+3+....+n
  8. 在Ubuntu 18.04上搭建SonarQube服务
  9. 简单PHP留言板之四 —— 添加留言
  10. Mac 在 Appstore 下载 hight Sierra 10.13
  11. pyside6的MQTT客户端
  12. 许愿墙 php源码,许愿网许愿墙 v1 共享版
  13. ssm教务系统网站毕业设计源码290915
  14. 如何用计算机完成一篇文稿制作步骤,第5章 计算机一级演示文稿制作经典教程.ppt...
  15. latex 中表格怎么指定编号_科学网—latex中简单表格制作+标题+编号+固定位置 - 江亿平的博文...
  16. 四百元左右有什么降噪耳机推荐?高性价比降噪耳机推荐
  17. Python系列 49 内置模块:subprocess
  18. java用友eai_用友EAI接口开发的问题
  19. ORACLE 创建表分区
  20. RTK和PPK技术科普

热门文章

  1. Python完美采集淘宝数据,含完整源代码和视频教程
  2. Dyson如何打造多源融合的招聘大数据平台
  3. SDOI2017 苹果树
  4. “好吃的”奥利奥 Android 8.0 正式发布:更快、更强大、更安全
  5. 微信小程序开发 获取手机 体验版获取不到code,需打开调试器才行?
  6. pycharm配置SSH远程服务器
  7. 在线SVG转png的网站
  8. reac组件,Component 与 PureComponent
  9. CSDN绝无仅有只此一篇:Appium+pytest+allure+jenkins如何实现多台手机连接详细教程教学
  10. 必不可少的代码冻结流程