位置: 编程技术 - 正文

Shell处理带空格的文件名的方法(shell sed 空格)

编辑:rootadmin

现在很多人命名的时候都喜欢用空格,例如“An Introduction.doc”。但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令中,都是默认以空格做为值与值之间的分隔符,而不是做为文件名的一部分。

看下面的脚本,我们可以了解的更清楚:

执行的结果如下:

实际上,当前目录的文件只有两个:

对于简单的文件名,如上例中,我们也可以通过 for i in *doc 这样简单的方法来获得文件列表。但是对于复杂的环境,如下图,我们如何获得这些列表呢?

有一个办法,通过 for i in "* *" 可以获得文件名的列表,但是一个很糟糕的列表,因为这个结果是一个两个文件名在一起的列表,我们完全无法拿来做后续的操作,如下图所示

通过 "* *" 这样的技巧可以避免上面所说的问题,但是在应用mv或其他操作时,还是会出现问题。

上面的问题,可以通过将变量放入引号中("$i")解决,通常情况下,引号中的空格可以被正确的处理。但这并不是一个恒久的解决办法,因为我们无法处理管道、子Shell等复杂的情况。

一个终极的解决办法就是设置IFS(the Internal Field Separator),不要用空格做为IFS,选择其他的符号。先来看看man page:

IFS: The Internal Field Separator that is used for word splitting after expansion and to split lines into words with the read built-in command. The default value is “<space><tab><new-line>”.

另外一个办法就是在对文件名进行处理之前,先将空格替换为特殊的自定义符号,然后在处理结束的时候,再替换回来

safename="$(echo name | sed 's/ /_-_/g')"

original="$(echo $safename | sed s'/_-_/ /g')"

其他还有一些方法,例如利用find命令。

推荐整理分享Shell处理带空格的文件名的方法(shell sed 空格),希望有所帮助,仅作参考,欢迎阅读内容。

Shell处理带空格的文件名的方法(shell sed 空格)

文章相关热门搜索词:shell带空格的字符串变量,shell 空格,shell空格符,shell脚本去空格,shell sed 空格,shell处理带空格的文件名,shell处理文本按空格处理,shell处理文本按空格处理,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux中删除文件内空行的4种方法 在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能。将常用的介绍如下吧:1.grepgrep.data.txtgrep-

Shell脚本处理浮点数的运算和比较实例 通过top命令看到的进程的CPU、内存的使用率的百分比是一个浮点数,我需要在写脚本时对其进行处理,所以学习了一些,总结如下。其实,Shell(这里是

Shell中的循环语句for、while、until实例讲解 在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧。这里包括for/while/until循环

标签: shell sed 空格

本文链接地址:https://www.jiuchutong.com/biancheng/374860.html 转载请保留说明!

上一篇:Linux中使用Shell脚本查看Java线程的CPU使用情况(linux中使用bash是什么意思)

下一篇:Linux中删除文件内空行的4种方法(Linux中删除文件夹的正确方式)

  • 退回的企业所得税怎么做账务处理
  • 税务安全组件初审流程
  • 印花税权利许可证照免税吗
  • 证券交易计税依据
  • 二手车需要交哪些额外的钱
  • 农民工专户个税起征点2023四川省
  • 应交税费为什么记借方
  • 通过固定资产科目核算
  • 注册资本印花税按年申报还是按次申报
  • 叉车上牌流程需要多少时间
  • 出让固定资产怎样计算增值税
  • 产成品返工如何处理
  • 公司承揽员工租房个税如何入账?
  • 项目收入怎么算
  • 人身意外伤害险保障范围
  • 员工扣款个税如何做账
  • 修理厂普通发票
  • 地税按季报还是月报
  • 所得税会计核算要点及程序
  • 增值税电子发票有限额吗
  • 土地计入无形资产包括的税费
  • 管理费用销售费用
  • 两个帐套合并为一个
  • 汇算清缴补交的所得税会计分录
  • exe是什么进程
  • 交割单和对账单一样吗
  • 资产负债表其他流动资产计算公式
  • 销售部门品种多怎么说
  • 电脑每次开机都要选择系统怎么办
  • 仙客来养殖方法和注意事项视频
  • php对接微信支付教程
  • 悬崖边上的门
  • 如何通过手机号码查对方在哪里
  • 建筑企业分项目信息采集表怎么填
  • 动态模型图如何制作
  • 预缴的附加税怎么填表抵减
  • vue3.0优点
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • 结构体基本知识
  • vue前端面试官常问的问题
  • js怎样遍历对象中的每个元素
  • 2023年highway-env更新之后的使用记录(含DDQN,DuelingDQN,DDQN+OtherChanges) 入门到入土,再踩坑就不玩原神了
  • 股东投资的钱要还给他吗
  • 出口报关需要增税吗
  • 农药普通发票可以抵扣
  • 增值税普通发票可以抵扣吗
  • 小规模纳税人货款怎么算
  • python字符串isdigit
  • php怎么装
  • 转让股权个税的计税基础
  • 建筑公司可以开3个点的专票吗
  • 内含报酬率的意义
  • 增值税抵扣了,主要成本怎么算
  • 困难企业社保费返还
  • 单位注销合并劳动合同有效吗
  • 分公司办事处需要什么手续
  • 润滑油开具增值税专用发票
  • 职工困难补助账务处理
  • 成本会计做什么工作内容
  • 净资产是什么意思举例说明
  • windows server 2008 64位MySQL5.6免安装版本配置方法图解
  • centOS7安装MySQL数据库
  • docker untagged
  • 键盘和鼠标冲突
  • CentOS下Uptime命令详解
  • win8右下角
  • linux ssh安装包
  • android应用程序的主要语言是java
  • shell脚本中执行命令语句
  • django发送请求
  • windows2003服务器管理器在哪里
  • jQuery插件在使用前都需要引入jQuery的js文件
  • 查看接入安卓终端密码
  • 简单谈谈你对公安工作的认识
  • unityui
  • 简述使用jquery实现表单验证的流程
  • 贵州省网上税务局要那个版本
  • 国企人事处长是什么级别?
  • 小微企业 2018
  • 特斯拉购车补贴2023苏州
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设