位置: 编程技术 - 正文

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

  • 外贸企业出口流程图
  • 吨位是啥意思
  • 先开票后收款违法吗
  • 劳务报酬收入是否含税
  • 银行承兑质押金的会计分录
  • 业务招待费进项税
  • 分期付款没有发票吗
  • 明细分类账采用的格式有
  • 政府补助的会计核算形式有哪些
  • 税率3%开成5%会罚款吗?
  • 成本法和权益法大白话
  • 银行存款收款凭证
  • 长期股权投资初始成本
  • 税后工资反推税前工资计算方法
  • 什么是遗产税什么是税
  • 外币账户和外汇账户一样吗?
  • 企业所得税税率2.5% 5% 25%
  • 小规模查账征收增值税怎么算
  • 外贸公司有出口退税吗
  • 税务稽查补缴增值税税款的账务处理
  • 计提劳务派遣人数怎么算
  • PHP:pg_field_name()的用法_PostgreSQL函数
  • vue3的生命周期
  • php变量格式说法错误的是
  • php redis实现秒杀思路
  • php实战
  • 借递延所得税资产贷以前年度损益调整
  • django pypi
  • 常用的成本计算方法有哪些
  • unity常用脚本语言
  • 大学生web前端期刊有哪些
  • fastdfs和minio哪个好
  • 智能商亭超级大骗局
  • 举报民间借贷利息收入所得税
  • 企业收入总额的计算公式
  • 投资进来的钱怎么取出来
  • 员工宿舍水电费计入什么会计科目
  • db2数据库管理最佳实践
  • 财务报表申报后怎么修改
  • 记账凭证银行利息怎么写
  • 票据的收款人和持票人有什么区别
  • 研发费用如何进账
  • 带薪年假一般是什么时候
  • 工程施工的主要经济指标包括哪些
  • 政府补助收入的现金流属于什么
  • 预提与计提的区别在哪里
  • 租赁合同的印花税的计税依据
  • 免抵退退税额
  • 固定资产清理账户借方
  • 超市账目
  • 公开发行企业债券,发行人累计债券余额
  • 废品损失明细账应选择三栏式
  • 长期无法收回的应收账款如何处理
  • 企业如何进行年报
  • sql clean
  • win7怎么调整
  • 安装并激活navicat
  • 不能在windows7里进行设置的网络位置是
  • win10笔记本连接不了wifi
  • linux scp命令的用法详解
  • 有没有类似window的免费软件
  • win10系统命令大全
  • centos设置双网卡
  • Windows8和Windows8 RT版的区别介绍
  • unity ugui ngui
  • opengl怎么学
  • 超人飞车助手下载安装
  • javascript中怎么创建一个数组
  • python true的用法
  • putty自动登录脚本
  • JavaScript弹出窗口
  • jquery操作表单
  • jquery map遍历
  • 电子发票未验真是假发票吗
  • 宁波银行税务贷简介
  • 广东国家税务局网上税务服务大厅
  • 百旺税控盘口令是多少
  • 花店会计主要做什么
  • 江宁市民中心周末可以办户口吗?
  • 龙岗税务分局管辖范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设