位置: 编程技术 - 正文

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

  • 多交了企业所得税,下年度退税,需要更正撒意思
  • 在报税显示缺少发票信息
  • 工会经费按什么比例交
  • 进项税和销项税怎么理解
  • 应交税费应交增值税减免税款
  • 出纳可以做库存库吗
  • 存款利息缴纳个税
  • 设计合同需要缴哪些税
  • 独资企业是向地税申报个税吗
  • 工业企业生产费用要素
  • 民办非营利组织幼儿园清算时固定资产如何处理
  • 增值税逾期未申报的税务怎么处理
  • 短期借款的会计凭证
  • 公司名字开错了,认证过了怎么处理
  • 收回的材料赔偿款怎么处理?
  • 物业收停车费要交房产税吗
  • 增值税发票对方已认证怎么冲红
  • 个人是否可以开展募捐
  • 免税发票上税率是多少
  • 如何批量查询发票
  • 当月工资补扣个税吗
  • 分公司可以单独签协议吗
  • 外贸企业支付境外佣金
  • 地毯属于什么类别
  • 什么人适用131419手机号码
  • 冲账与挂账之间有什么区别?
  • 新版edge浏览器兼容ie
  • windows 11怎么样
  • win10桌面2怎么使用
  • 景点门票定价依据
  • 其他应付款很多
  • 图片注入php
  • php目录列表
  • 如何做商品批发
  • 挪威 北极熊
  • PHP:imagefontwidth()的用法_GD库图像处理函数
  • php的implode
  • coco2017数据集介绍
  • 【已解决】VUE3+webpack >5报错问题
  • php artisan key:generate
  • gdal官方文档
  • discuz去除底部
  • 织梦数据库在哪
  • 用简易计税办法开发票
  • phpcms专题页面模板
  • 让税务局代开的发票直接交纳的税金如何做会计分录?
  • 企业所得税和个人所得税都要交吗
  • 劳务外包合同需要注意什么
  • 不动产租赁如何避税
  • 企业所得税税前扣除项目有哪些
  • 一般纳税人商贸公司增值税税负率
  • 发工资时多打给员工的钱
  • 主营业务成本记借方还是贷方
  • 待认证进项税怎么转出
  • 公司向股东借款最新规定
  • 商业承兑过期后可以退回吗
  • 从增值税抵扣进项怎么算
  • 公司备用金使用后没有发票抵扣
  • 加油站如何开票
  • 怎么打开设置管理
  • 支付信息表
  • mysql数据库高可用方案
  • macbook怎么开hdr
  • centosgui
  • windows预览版和正式版区别
  • ubuntu安装教程14.04
  • 为什么win8系统的键盘输入不了字
  • win10预览体验win11
  • js实现鼠标事件
  • 路径可分为
  • python引用方法
  • jquery对象可以直接使用dom吗
  • python里面有什么
  • python获取当前日期的前一天
  • javascript编程基础
  • 企业公示信息怎么查询
  • A级纳税人和一般纳税人区别
  • 作为税务人员哪些基本素质
  • 税务局发票邮寄费用谁承担
  • ca证书怎么删除
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设