位置: 编程技术 - 正文

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中删除文件夹的正确方式)

  • 统一机构信用代码查询系统
  • 人工费用的核算例题
  • 工程施工和工程结算对冲有差额的会计分录
  • 装修行业开票税率
  • 出口企业免抵税额要作进项转出吗
  • 个人开劳务发票怎么开
  • 一般纳税人暂估成本的账务处理
  • 增值税都有哪些科目
  • 房贷抵扣个税如何设置100%
  • 记账凭证的填写示例
  • 视同销售收入计入会计利润吗
  • 公司报销专用发票
  • 收到货款未开发票怎么做分录
  • 建筑业异地预交税款怎么入库
  • 是否退还投标文件
  • 超30日未备案
  • 小规模开票数量怎么算
  • 未分配利润转出
  • 同一个行政区
  • 金税四期什么时候正式上线
  • 非货币性资产是无形资产吗
  • 固定资产的财务处理方法
  • vue2.0解决跨域问题
  • Win10 1809 17763.2268 更新发布:附更新修复内容汇总
  • .fas文件病毒
  • 债转股税收优惠政策
  • 最小的成像传感器
  • yolov5 教程
  • 购买货物收到发票财务报表怎么提现
  • 财务费用为什么是负数表示
  • css盒子如何居中
  • 今日除夕吉时
  • 建筑劳务公司的法人代表有什么责任
  • 商家为消费者提供餐具
  • 先收票后收货
  • 谈谈社会公德普通话三分钟
  • 智能优化算法及其MATLAB实例
  • php中array用法
  • php写一个简单的单例模式
  • 企业盘盈的固定资产其核算的会计科目是
  • 计提法定盈余公积是什么意思
  • 当期进项加计额怎么填
  • mysql常见故障
  • 企业将重组债务转为资本的会计处理
  • 企业取得投资收益要交税吗
  • 填写备案信息的目的
  • 预提费用在汇算清缴时调整,会计分录怎么做
  • 股东借款如何认定为出资
  • 个税公司少申报一个月会对个人有什么影响
  • 补充资本金有哪些途径
  • 股东参与经营可以退股吗
  • 查账征收的个体户怎么交个税
  • 管理费用结转有余额吗
  • 折旧年限的最新规定 汽车
  • 企业开了发票
  • xp系统好怪啊
  • 远程查看微信聊天记录软件
  • redhat系列
  • 笔记本电脑自动断开
  • 进不去操作系统 怎么样修复引导
  • win7系统如何关闭开机自动启动软件
  • 手机上的安全模式是什么
  • linux怎么查网络走向
  • nmstt.exe - nmstt是什么进程 有什么用
  • jquery验证码
  • css英文代码翻译
  • 谷歌批量下载插件
  • javascript中怎么创建一个数组
  • sequelize join
  • mysql 导出指定表
  • 如何用dos修复引导
  • python获取当前地址
  • python递归查找
  • javascript代码用什么来标记
  • Python制作钟表代码
  • 五十八二
  • 对供热企业相关规定
  • 国家税务总局官网电子税务局
  • 怎么打印纳税申报单
  • 双定户如何网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设