位置: 编程技术 - 正文

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

  • 工会经费的计税依据是含税还是不含税
  • 银行手续费回单可以作为入账依据吗
  • 免税收入怎么做账务处理
  • 补缴工会经费后所得税还要调整吗
  • 自然人扣缴是什么意思
  • 经营公租房的租金收入交房产税
  • 供应商给的折扣比发票少怎么做账
  • 公司发放节日礼品
  • 无票收入如何做账
  • 增值税专用发票几个点
  • 企业所得税是否有利于调节产业结构
  • 折价购买债券是什么意思
  • 上市公司非限售股股票转让收入
  • 试营业期间的费用算不算开办费?
  • 个税申报系统的备份保留几份数据
  • 个人以非货币性资产投资个人所得税
  • 高新技术企业取消认定
  • 商用房的增值税是多少
  • win7系统没有桌面图标怎么办
  • 退多收款怎么做分录
  • RAVMOND.exe - RAVMOND是什么进程.有什么作用
  • 房产开发企业交房产税吗
  • 计划成本核算的账务处理
  • 安装win7提示版本过低
  • 不动产售后回租如何处理
  • 长期股权投资采用权益法核算
  • ubuntu16.04.4安装教程
  • php中preg_replace_callback函数简单用法示例
  • php如何遍历二维数组
  • 发票中食品属于哪一类
  • 厂区租赁 法律规定
  • 汇总纳税企业所得税征收管理办法
  • mybatis怎么用
  • python中的split函数
  • 技术使用费所得怎么算
  • 电子承兑汇票到期提示付款后多久到账
  • MYSQL5 masterslave数据同步配置方法第1/3页
  • mysql字符串字段数据类型
  • 采购人员差旅费为什么不计入成本
  • 企业进项是什么意思
  • 个人转让不动产交印花税吗
  • 收到银行回单如何打印
  • 交了社保里面的钱去哪里了
  • 预缴增值税税款所属期
  • 哪些进项的税可以退税
  • 去年应收账款下账错误怎么调整
  • 专项应付款科目编码是多少
  • 发票报销抵扣税点是给谁
  • 人力资源公司代发工资可以开专用发票吗
  • 研发费用加计扣除是什么意思啊
  • 用友无法填制凭证
  • 红字更正法的使用范围是什么
  • 采购未取得发票怎么结转成本
  • 银行承兑到期后怎么兑现
  • 什么是存储过程?有哪些优缺点?
  • 删除重复记录mysql
  • sql函数使用
  • linux 二进制转十六进制
  • windows sfc命令
  • 活动目录管理工具
  • win7无法访问局域网电脑
  • centos怎么设置
  • bzc.exe是什么
  • 安装空调
  • centos下载软件并安装
  • windows8开发者预览版中文版ISO下载
  • 手机连接电脑win11
  • excel 工具栏
  • linux中文件权限读写执行的三种标志符号依次是
  • dos命令grub
  • js过滤filter
  • node.js开发实战
  • android重写方法
  • socket.io与pm2(cluster)集群搭配的解决方案
  • python socket sendto
  • JavaScript中的NaN代表什么
  • 纪检委是干什么工作的能管理税务管理局吗
  • 怎么查其他公司的财务报表
  • 廊坊银行辟谣了吗
  • 北京ca证书下载安装流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设