位置: 编程技术 - 正文

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

  • 劳务公司计税税率
  • 税收工资什么意思
  • 网上商城的主要功能以及购物流程
  • 固定资产投资额包括哪些会计科目
  • 未休年假补助
  • 淘宝发票收取的税点是谁来交
  • 税务申报有什么技巧
  • 企业外汇买卖业务流程图
  • 资产收购应如何计算
  • 保证金可以抵货款吗
  • 公司股权转1元转让还涉及哪些税务风险?
  • 注册资本金印花税税率是多少
  • 电子发票可以打多少行
  • 保安服务税目
  • 12月份奖金怎么扣个税
  • 应付职工薪酬借方和贷方
  • 进项税额转出的
  • 非上市公司股权转让
  • 以前年度损益调整会计分录
  • 鸿蒙系统控制中心
  • 抵扣联必须当月认证吗
  • 企业所得税怎么做帐
  • 退税需要怎么操作
  • win10系统怎么设置
  • 劳务费意思
  • 专项维修基金会计核算应当遵循及时性原则
  • 汇票到期收到款项会计分录
  • phpstorm ftp
  • 凭证的类型
  • 转让应收账款会计分录
  • 落枕怎么办怎么治疗
  • laravel搭建
  • maven视频教程
  • 企业发生的现金折扣应计入什么费用
  • vue3+ts+vite
  • 非盈利组织固定资产没入帐 怎么调账
  • php日期计算器
  • 其他收益增加说明什么
  • 不跳槽怎么形容
  • vuenode前后端交互的方式
  • 以股权抵债的会计分录
  • 行政性收费和事业性收费 财政局
  • 火车票抵扣进项税需要认证吗
  • 小规模资产负债表怎么填写
  • 财务费用税前扣除标准是多少
  • 留抵税额可以保留几年
  • python dup函数
  • 广播影视服务税率2023
  • 月度合并报表与年度合并区别
  • sql随机抽样
  • 固定资产未登记入账
  • 应收账款的账面价值是什么
  • 实收资本认缴如何做账
  • 当月没认证的发票当月不用进行账务处理吗
  • 发票具有哪些情况可以开
  • 固定资产明细账图片
  • 总产值的计算方法是什么
  • 股东不能参与公司运营和决策,可以起诉吗
  • 工程上第三方代表啥意思
  • Mysql 报Row size too large 65535 的原因及解决方法
  • winxp/win2000/win2003
  • FreeBSD su Sorry问题解决办法
  • mmc无法创建管理单元怎么办win11
  • 和大家一起分享一下你读书以后的感受吧
  • win7系统无法更改主题
  • win8 应用商店
  • cocos2d-x教程
  • javascript中的函数
  • ajax 编码
  • cocos creator截图
  • 黑客需要学哪些
  • django 实例
  • android/bitmap.h
  • Android ImageLoader 本地缓存
  • javascript面向对象精要pdf下载
  • 怎么用jquery
  • 怎么在电脑上下载浙政钉
  • 个人以土地投资入股都需缴纳哪些税
  • 云南省国家税务局电子税务局
  • 山东发票认证勾选平台网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设