广告
返回顶部
首页 > 资讯 > 操作系统 >处理Shell脚本中带有空格的变量(bash脚本)
  • 525
分享到

处理Shell脚本中带有空格的变量(bash脚本)

shell空格变量bash脚本变量 2022-06-04 23:06:50 525人浏览 薄情痞子
摘要

本篇主要介绍bash脚本中对于含空格文件处理方式。 在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理; #$1: 遍历的文件夹 rootDir=$1 cd $rootDir allAudioFil

本篇主要介绍bash脚本中对于含空格文件处理方式。

在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理;


#$1: 遍历的文件夹
rootDir=$1
cd $rootDir
allAudioFile=$(find $1 -name "*\.mp3")
for oneAudioFile in $allAudioFile
do
  mv -f $oneAudioFile  $rootDir
done

通过set -x将执行信息打印出来,发现可以执行到,但是执行过程提示找不到对应的文件名,mv对应的source文件并不是原本的文件名,通过对比发现原来是文件名中含有空格,导致在for循环的过程中并没有将完整的文件名取出来;

例如有文件a b.mp3这时候在for循环的时候会有下面的打印:

mv: cannot stat “./a” : No such file or directory

从上面的错误信息可以发现原本的文件名由于空格被打断了,因此需要在for循环处理的过程中识别到文件名是含有空格的,从而对文件名中的空格不做处理;

bash使用IFS变量进行分割,所以需要修改IFS的分隔方式进而重新隔离,即需要将"\n"换行处理作为处理方式:


IFS=$(echo -en “\n\b”)
IFS=$(echo -en “\n\r”)

上面的两种方式均可(使用ubuntu16.04),其它也可以,只需要在处理的时候将"\n"作为其中一个标识即可,因为使用find命令或者其他命令会将结果以行的形式存放到变量中;


#$1: 遍历的文件夹
rootDir=$1
cd $rootDir
allAudioFile=$(find $1 -name "*\.mp3")
IFS_BACKUP=$IFS
IFS=$(echo -en "\n\b")
#IFS=$(echo -en "\n\r")
for oneAudioFile in $allAudioFile
do
  mv -f "$oneAudioFile"  $rootDir
done
IFS=$IFS_BACKUP

至此,bash脚本中对于含空格文件处理方式介绍完毕,当然要记得将原本的IFS内容保存下来,脚本跑完了将原本的内容放回去。

总结

以上所述是小编给大家介绍的处理shell脚本中带有空格的变量(bash脚本),希望对大家有所帮助!

--结束END--

本文标题: 处理Shell脚本中带有空格的变量(bash脚本)

本文链接: https://www.lsjlt.com/news/20907.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 处理Shell脚本中带有空格的变量(bash脚本)
    本篇主要介绍bash脚本中对于含空格文件处理方式。 在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理; #$1: 遍历的文件夹 rootDir=$1 cd $rootDir allAudioFil...
    99+
    2022-06-04
    shell 空格变量 bash脚本变量
  • 如何处理Shell脚本中带有空格的变量
    小编给大家分享一下如何处理Shell脚本中带有空格的变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不...
    99+
    2023-06-09
  • shell 脚本中常用的内置变量(Bash 内置变量)
    $FUNCNAME、$LINENO、$PWD FUNCNAME和LINENO 变量经常用于脚本的调试 FUNCNAME 表示当前函数的名字,作用范围仅限函数中使用,在函数外无值 LINENO 表示当前所在脚本中变量出现在...
    99+
    2022-06-04
    shell内置变量 shell Bash 内置变量
  • Python脚本处理空格的方法
    最近小编遇到一个奇葩问题,就是上传代码时拷贝vs里面的代码不能直接粘贴,否则空格会不符合要求,怎么解决此问题呢?下面小编给大家分享我的解决方案,希望能够帮助到大家! 去掉空格代码 # -*- cod...
    99+
    2022-06-04
    空格 脚本 方法
  • shell脚本传参中包含有空格的参数
    目录问题描述原因分析解决方案拓展传递给函数的某个参数含有空格问题描述 调用并传参数给其他shell脚本,传的参数带有空格,被调用的shell脚本只取了这个参数的第一个单词。 代码如下...
    99+
    2023-03-22
    shell脚本传参有空格 shell传递带空格的参数
  • Bash脚本中特殊变量$0的使用
    目录1. 显示脚本的名称和路径2. 比较脚本的名称和路径3. 脚本自身的调试和测试结论在 Bash 脚本中,$0 是一个特殊变量,它代表当前脚本的路径和名称。这个变量用于表示脚本自身,它是 Bash 环境中的一个重要组成...
    99+
    2023-05-06
    Bash 特殊变量$0 Bash $0
  • shell 脚本中有哪些常用的内置变量
    这篇文章给大家介绍shell 脚本中有哪些常用的内置变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。$FUNCNAME、$LINENO、$PWDFUNCNAME和LINENO 变量经常用于脚本的调试FUNCNAME ...
    99+
    2023-06-15
  • Shell脚本中常用的内置变量有哪些
    这篇文章主要讲解了“Shell脚本中常用的内置变量有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本中常用的内置变量有哪些”吧!在 Bash 解释器中,内置了许多变量,这些变...
    99+
    2023-06-15
  • 如何理解Shell脚本中的位置变量参数
    这篇文章主要介绍“如何理解Shell脚本中的位置变量参数”,在日常操作中,相信很多人在如何理解Shell脚本中的位置变量参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Shell脚本中的位置变量参数...
    99+
    2023-06-09
  • shell脚本传参中包含有空格的参数怎么解决
    本篇内容主要讲解“shell脚本传参中包含有空格的参数怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本传参中包含有空格的参数怎么解决”吧!问题描述调用并传参数给其他shell...
    99+
    2023-07-05
  • Shell脚本中判断输入变量或者参数是否为空的方法
    1.判断变量 read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!...
    99+
    2022-06-04
    变量 为空 脚本
  • Bash脚本中处理错误的常用方法有哪些
    这篇文章主要为大家分析了Bash脚本中处理错误的常用方法有哪些的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Bash脚本中处理错误的常用方法有哪些”的知识吧...
    99+
    2023-06-28
  • Shell脚本中判断变量为数字的3种方法
    方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值 expr $args + 0 &>/dev/null 方法2:打印变量通过sed替换...
    99+
    2022-06-04
    种方法 变量 脚本
  • Bash 脚本在大数据处理中的作用到底有多大?
    随着大数据时代的到来,处理海量数据已经成为了许多企业和组织所面临的一个重要问题。而 Bash 脚本作为一种强大的命令行工具,也被越来越多的人用于大数据处理中。本文将介绍 Bash 脚本在大数据处理中的作用,并演示一些常用的 Bash 脚本...
    99+
    2023-08-10
    大数据 bash 关键字
  • shell脚本中整数型变量自增(加1)的几种实现
    在shell脚本中,有时为了计数,需要编写整数型变量,并用自增来显示。 shell脚本中的整数型变量,自增有多种实现方式,整体测试脚本如下: #!/bin/sh #本脚本测试shell脚本中整型变量自增 加1的几种方法 ...
    99+
    2023-05-06
    shell变量自增 shell 变量加1
  • 如何编写Shell脚本实现快速去除字符串中的空格
    这篇文章主要讲解了“如何编写Shell脚本实现快速去除字符串中的空格”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本实现快速去除字符串中的空格”吧!效果如下图所示,图上半...
    99+
    2023-06-09
  • Shell脚本中的位置变量参数(特殊字符)实例讲解
    $# : 传递到脚本的参数个数 $* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个 $$ : 脚本运行的当前进程 ID号 $! : 后台运行的最后一个进程的进程 ID号...
    99+
    2022-06-04
    变量 脚本 实例
  • Bash 脚本语言在大数据处理中的优势何在?
    随着数据量的不断增长,大数据处理成为了一个热门话题。在这个领域中,Bash 脚本语言也开始发挥重要的作用。本文将介绍 Bash 脚本语言在大数据处理中的优势,并且通过演示代码来展示其强大的功能。 Bash 脚本语言的简单易用 Bash...
    99+
    2023-08-10
    大数据 bash 关键字
  • GO 语言和 BASH 脚本的自然语言处理能力究竟有何不同?
    自然语言处理 (Natural Language Processing, NLP) 是计算机科学领域中一个十分重要的研究方向,它致力于让计算机能够更好地理解和处理人类自然语言。在实际应用中,我们会发现有些编程语言,例如 GO 语言和 BAS...
    99+
    2023-07-08
    自然语言处理 bash 日志
  • 如何在PHP中利用Shell脚本实现对象的高效并发处理?
    随着互联网的快速发展,网站的并发访问量也越来越大,如何高效地处理这些并发请求成为了一个亟待解决的问题。而PHP作为一种脚本语言,本身并不支持多线程并发处理,这就需要我们通过其他的方式来实现对象的高效并发处理。本文将介绍如何在PHP中利用S...
    99+
    2023-10-22
    对象 并发 shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作