惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
月光博客
月光博客
博客园_首页
博客园 - 叶小钗
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
量子位
小众软件
小众软件
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
IT之家
IT之家
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
G
Google Developers Blog
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 小林觉

理解软件工程 通过 n 进制整数对称加法,寻找回文串数字 正多边形内点黄金分割冒险游戏 兰顿蚂蚁:从无序到有序的伟大征程 不成熟的想法:计算的粒度 技术债务墙:一种让技术债务可见并可协商的方法 墙裂推荐 shell 脚本通过Webhook 发送消息到微信群 - 小林觉 关于中医的一段对话 [ZZ] -- 思维训练故事 应用深度神经网络预测学生期末成绩 Python中的模块引用机制 - 小林觉 - 博客园 Markdown数学公式语法 - 小林觉 - 博客园 批处理修改IP Hadoop 操作常见问题解决 linux 下vim中关于删除某段,某行,或者全部删除的命令 ZZ Hadoop 集群安装(从节点安装配置) Hadoop 集群安装(主节点安装) 少儿编程(2):简单的数学计算 - 小林觉 - 博客园 少儿编程(1):计算思维
批量修改含空格的文件名「Linux」
小林觉 · 2019-07-16 · via 博客园 - 小林觉

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

posted on 2019-07-16 15:59  小林觉  阅读(2430)  评论(0)    收藏  举报