位置: 编程技术 - 正文

Shell处理带空格的文件名的方法(shell sed 空格)

发布时间:2024-02-27

现在很多人命名的时候都喜欢用空格,例如“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中删除文件夹的正确方式)

  • 一般纳税人没有开票要交税吗
  • 个税申报显示无有效的税费种认定信息已核定
  • 手机上可以开个人劳务发票吗
  • 所得税预缴申报表资产总额怎么填
  • 中药材适用税率是多少
  • 委托付款税务认可吗
  • 增值税一般纳税人证明怎么查询
  • 外购原材料自用
  • 固定资产减值必有损益吗
  • 技术转让收入纳税调整
  • 公司转让注册资金怎么弄
  • 部分退货退款剩下的钱什么时候给卖家
  • 无形资产原值变动账务处理
  • 职员在外地出差怎么处理
  • 销售货物并收取运费税率
  • 税收编码名称是什么
  • 已认证的发票对账怎么办
  • 个人开具工程款发票
  • 三十个生僻字
  • 一般纳税人未达到起征点要交税吗
  • 季度不超30万需计提增值税吗
  • 汇算清缴退税调整利润表
  • 增值税有留底怎么申请退税
  • 递延收益的账务处理案例
  • 华为哪些手机有hicar
  • 长期负债在报表哪里看
  • 单位个税申报后可以撤销吗
  • 没有营业执照哪个银行可以办理房产抵押贷款
  • dedecms主页修改
  • 员工加班车费会计分录
  • 一些出口商为什么要倾销
  • 生产运维是干什么的
  • PHP:Memcached::touch()的用法_Memcached类
  • win11设置共享文件夹
  • win10版本1909和22h2
  • 固定资产置换存货的账务处理
  • php类的使用
  • 增值税纳税人的区别
  • uniapp route
  • 计算所得税费用公式excel
  • 税务变更登记需要带的资料有哪些
  • ml神经网络
  • php加密技术
  • 职工补贴包括哪些?
  • 增值税普票遗失可否用复印件入账
  • 计提工资后面附什么
  • 金蝶k3费用发票怎么生成凭证
  • mongodb添加数据库
  • 小规模纳税人税率1%政策到什么时候
  • 什么是财产行为税举例
  • 工会年末结余会计分录
  • 个体户员工要签劳动合同吗
  • 进项税额已抵扣又红字冲红税务系统自动冲回吗
  • 未结转本年利润的股东分红的分录
  • 购入房屋建筑物进项税额抵扣
  • 公司为员工租房应注意
  • sql常见的数据类型有哪些
  • 一个报表的格式主要包括( )
  • win7系统步骤
  • win10共享提示
  • ubuntu zmq
  • mpcmdrun.exe是什么进程
  • nb3是什么文件
  • host文件没有
  • Win10应用程序无法正常启动0xc000007b
  • window10安装时间太长
  • linux小技巧
  • Win10年度更新将统一Insider与Xbox One预览体验
  • div与span区别及用法
  • html图像元素
  • jquery查找方法
  • jquery示例
  • unity3d shader之God Ray上帝之光
  • 2、BluetoothChat之扫描设备DeviceListActivity.java
  • js为什么不能用var定义变量
  • 动感相册模板
  • js基于什么
  • 如何计算环保税减征政策
  • 企业如何网上申报税
  • 经营所得专项扣除养老保险费可以全额扣除吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号