批量修改含空格的文件名「Linux」
2024-08-31 11:27:28
1、问题:文件批量重命名和处理文件名中的空格
- 如果文件名中有空格,在执行以下shell脚本的时候会出错。
- shell 脚本
for filename in `ls`
do
echo $filename
done
- 执行结果:会将带空格的文件名,以空格作为截分,分两次(多次)输出。
2、原因分析及对策
原因:Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符。默认是 space, tab, newline 来拆解读入的变量,然后对特殊字符进行处理,最后重新组合赋值给该变量。
对策:只需要重置改变量,用完以后记得还原变量。
3、 示例代码
- 例子1:写成一行
IFS_old=$IFS; IFS=$'\n';for name in `ls`; do mv $name LW_$name; done; IFS=$IFS_old;
- 例子2:写成多行
IFS_old=$IFS
IFS=$'\n'
for name in `ls`
do
mv $name LW_$name
done
IFS=$IFS_old
最新文章
- YYModel 源码解读(二)之NSObject+YYModel.h (2)
- yum安装配置
- c++防止客户端多开巧妙代码
- TortoiseGit 连接oschina不用每次输入用户名和密码的方法
- extJs学习基础 容器的介绍
- JAVA作业02
- 移动端开发——javascript
- error LNK1281: 无法生成 SAFESEH 映像 LNK2026 模块对于 SAFESEH 映像是不安全的 VS2015 /win10
- Linux命令--用户用户组管理
- JavaSE复习日记 : 实例化对象/构造方法和this关键字
- lucene 索引查看工具
- C# 实现 Hyper-V 虚拟机 管理
- EF增删改查+使用Expression进行动态排序分页
- 简单类型对象 String
- STM32常见问题
- Cocos Creator JS 获取当前日期与时间
- SlidingMenu第二篇 --- SlidingMenu常用属性介绍
- xadmin的使用
- java框架篇---struts之文件上传和下载
- stringBuffer和stringBulider的区别
热门文章
- 【系列专题】JavaScript 重温系列(22篇全)
- 如何用Jmeter做接口测试
- NodeJS2-2环境&;调试----引用系统内置模块,引用第三方模块
- return之为什么能够终止函数,代码演练
- Python面向对象-获取对象信息type()、isinstance()、dir()
- c++-面向对象类的示例-求周长面积,判断体积相等-文件操作和一般操作
- Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
- CRM、ERP是什么?
- React搭建项目(全家桶)
- Xshell 连接 VirtualBox