批量修改含空格的文件名「Linux」
作者:@Xiaolin Ju
本文为作者原创,转载请注明出处:https://www.cnblogs.com/juking/p/11195459.html
目录
1、问题:文件批量重命名和处理文件名中的空格
2、原因分析及对策
3、 示例代码
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2015-07-16 Word中带圈数字