位置: 编程技术 - 正文

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

  • 组成计税价格是销售额吗
  • 企业变更股东需要本人到场吗
  • 税收的优惠性政策包括哪些
  • 出口退税代理费用大概多少
  • 进项票超过180天还可以认证吗
  • 研发人员工资加计
  • 完税证明可以作为发票吗
  • 房屋的契税印花税的会计分录
  • 机动车发票冲红怎么操作
  • 电话充值卡如何变现
  • 公司破产实收资本尚未交完股东对公司承担什么责任
  • 出口货物免抵退申报明细录入怎么填
  • 员工工牌的作用
  • 牛奶的增值税普通发票
  • 白酒消费税最低计税价格
  • 已认证的发票退税怎么退
  • 公司借银行款会计分录
  • 长期待摊费用2021
  • 以前年度损益调整结转到哪里
  • 房地产企业土地增值税预缴
  • 计提本月银行借款利息是收付实现制还是权责发生制
  • wordpress拿shell
  • php安装及使用教程
  • zendframework3
  • python基础100例
  • css如何应用
  • php session跨域共享
  • verilog hdl中任务可以调用
  • 员工办理健康证需要什么材料
  • 建筑业增值税怎么算举例说明
  • 其他应付款包括的内容
  • sql2005安装不上
  • 垫付应收款怎么做会计分录
  • 企业收到财政拨付的专项资金账务处理
  • 去银行取对账单需要带什么
  • sqlserver2005安装失败
  • 一般纳税人报税时间每月的多少号
  • 非限定性净资产和限定性净资产的区别
  • 制造费用是费用吗?
  • 会计里的管理费用包括什么
  • 独资合伙企业的特点
  • 冲减当期利润
  • 其他收益算不算营业利润
  • 固定资产账实不符违反的规定
  • 税控盘反写是不是说明税都已经成功申报了
  • 计提增值税如何做账
  • 每个银行都有结息
  • 短期理财收益账务分录
  • 固定资产中如何计算折旧
  • 银行利息增值税发票申请单怎么填
  • 电子发票开具流程?
  • 会计凭证编制程序和用途
  • 支付厂房租赁费现金流
  • ubuntu-desktop启动
  • Win10 Mobile 10549预览版增DPI缩放 瞬间手机变电脑
  • win10web服务器在哪打开
  • CentOS 6.x 到 CentOS 7 的升级过程
  • linux groupmod命令参数及用法详解(linux修改组信息命令)
  • Linux运维工程师工作内容
  • margin负值
  • 正二十面体怎么建模
  • node执行js文件的命令是什么
  • anaconda使用指南
  • jquery实战
  • jQuery的extend方法【三种】
  • node.js连接不上数据库
  • c++ nops
  • JQuery.validationEngine表单验证插件(推荐)
  • 备份系统三要素
  • 仿百度首页
  • jQuery ajax提交Form表单实例(附demo源码)
  • android数据存储与访问的方式有
  • 用javascript
  • 广州市税务局机构设置
  • 如何在电子税务局看本月应申报的税
  • 企业自建自用房产税如何缴纳
  • 税务稽查强制措施
  • 契税5年什么意思?
  • 个体户刻公章需要备案吗
  • 经营工作会议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设