位置: 编程技术 - 正文

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

  • 收到的实收资本都能用来做什么
  • 已提折旧
  • 唐朝的两税法是什么
  • 公司租用私人汽车违法吗
  • 收到就业补贴财务如何做账
  • 房地产企业预缴土地增值税
  • 委托加工白酒消费税计税依据
  • 住房贷款利息专项附加扣除是返钱吗
  • 由于生产工艺改进引起建筑物设备陈旧
  • 股东转入投资款
  • 返利失效了怎么找回
  • 增值税发票暂时无法查看怎么回事
  • 生产企业出口退税流程
  • 支付运费价税合计
  • 购进货物未取得增值税专用发票
  • 进项大于销项的分录怎么写
  • 收到员工补缴的公积金怎么入账
  • 企业支付短期借款利息1000元
  • 实收金额比应收金额多
  • 公允价值上升是收益还是损失
  • 资询服务收入算服务还是劳务
  • 违约金收入是否交增值税
  • 金蝶怎么一次性删除所有分录
  • 公司亏损应该从哪入手
  • Win11截图工具怎么设置快捷键
  • windows11怎么设置锁屏时间
  • 企业的工资薪金等现金支出只能通过什么办理
  • 移动端h5页面适配
  • 利用python自动填问卷
  • php 返回
  • vue通过url访问单个页面
  • 自动化测试是怎样的
  • 特斯拉 ai day
  • php类型约束用法有哪些
  • php快速排序非递归
  • 期末汇兑损益计算公式
  • 开发票时有哪些规定呢?
  • 权益法转成本法非同一控制下为什么不公允
  • 企业有外币账户怎样做账
  • 信用证支付方式,银行处理单据时主要关注( )
  • 劳务公司成本怎么算
  • 股权转让个人转个人要交什么税
  • 银行贷款第三方是什么意思
  • 土地违约金的法律规定
  • 车辆购置税如何账务处理
  • 经营性租赁资产
  • 分期收款发出商品一批,售价50000
  • 银行现金支票作废处理步骤
  • 小微企业免征增值税优惠政策
  • 销售费用和管理费用的税前扣除
  • 发票红冲重新开具怎么做分录
  • 购买的垃圾袋计入什么科目
  • 一个真正的企业应该具备哪些特征
  • 一家企业至少要运转几个月以上
  • mysql详细介绍
  • 用SELECT... INTO OUTFILE语句导出MySQL数据的教程
  • 2008sql附加数据库
  • linux 设置文件系统
  • windows注册表保存在BIOS
  • dell power manager是什么
  • win8经典模式
  • linux消息队列阻塞
  • 2015-04-04---CCAction详解(欠了大家好几天了)
  • opengl es2
  • fragmentize
  • python black
  • node.js入门教程
  • Unity3D之Vector3.Dot和Vector3.Cross的使用
  • json对象转化为list
  • python爬虫介绍
  • shell脚本输出空格
  • javascript操作数组的方法
  • jquery设置滚动条
  • js判断iframe是否加载完成
  • 地税税务稽查管理办法
  • 1+征收率
  • 广西地方税务局2018年1号公告
  • 北京税务局地税电话
  • 辽宁地方税务局招聘
  • 国家发票真伪查验
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设