首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

按字符拆分字符串(如".“、"-”等)并在SHELL脚本中创建目录

在SHELL脚本中,按字符拆分字符串并创建目录的方法如下:

  1. 首先,需要将待拆分的字符串赋值给一个变量,假设为str
  2. 使用IFS(Internal Field Separator)变量来指定拆分字符。默认情况下,IFS的值为包含空格、制表符和换行符的字符串。我们可以将其修改为需要的拆分字符,例如将其设置为.-,即IFS=".-"
  3. 使用read命令结合循环来逐个读取拆分后的字符串片段。read命令可以将输入的一行内容按照指定的分隔符拆分成多个变量。
  4. 在循环中,将每个拆分后的字符串片段赋值给一个变量,假设为sub_str
  5. 使用mkdir命令创建目录,目录名为sub_str

下面是一个示例的SHELL脚本代码:

代码语言:txt
复制
#!/bin/bash

str="example.string-to.split"
IFS=".-"  # 设置拆分字符为"."和"-"

while read -r sub_str; do
    mkdir "$sub_str"
done <<< "$str"

在上述示例中,字符串example.string-to.split会被按照.-进行拆分,然后依次创建名为examplestringtosplit的目录。

请注意,这只是一个简单的示例,实际应用中可能需要添加错误处理、路径判断等逻辑来保证脚本的稳定性和安全性。

推荐的腾讯云相关产品:无

希望以上信息对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何处理Shell脚本的特殊字符

概述 有时,当我们编写 shell 脚本时,我们必须处理特殊字符空格、符号和其他非 ASCII 字符。这些字符可能无法直接由 shell 脚本和其他工具处理。...假设我们有一个变量 整体取HOME变量的值 使用空格作为分隔符将字符串拆分为字段 将每个以空格分隔的字段视为一个可以由 shell 扩展的 glob 在我们的例子,我们对字符串 上下文感兴趣——变量周围的双引号产生一个字符串...阅读无选项 read命令从变量、文件或标准输入读取输入。当我们在不带任何选项的shell脚本中使用read命令时,它会对空格、反斜杠、续行特殊字符进行一些操作。...通过清空IFS变量,我们可以原样读取行,因为没有分隔符可用于拆分字符串: ... printf "%s\n" "$kiss" | while IFS= read -r line; do ......用反斜杠转义特殊字符shell ,转义特殊字符最常见的方法是在字符前使用反斜杠。这些特殊字符包括 ?、+、$、! 和 [ 字符

7.4K30

Bash Shell

Bourn shell是现在所有shell的始祖,C shell增加了若干Bourn shell没有的特性,命令行历史、别名和作业控制。...alias的语法格式:alias别名 = 命令字符串创建一个名为dir的别名:alias dir = 'ls -laF'。...创建一个别名时要遵守如下规则:1.在等号的两边都不能有任何空格 2.命令字符串包含任何选项、元字符或空格,命令就必须使用单引号括起来3.在一个别名的每一个命令必须用分号(:)隔开。 .../etc.prpfile.d目录:在/etc/profile.d目录存放的是一些应用程序所需的启动脚本。这些脚本包括颜色、语言、less、vim及which命令的一些附加设置。.../bash_logout主要作用是用户退出系统时自动运行某些程序,自动备份一些重要并在用户登陆后更改过的文件、及删除没有用的临时文件

1.5K30
  • 600个常用Linux命令大全,从A到Z

    awk 一种用于操作数据和生成报告的脚本语言 B 命令 描述 banner 用于将大写的 ASCII 字符串打印到标准输出 basename 从文件名中去除目录信息和后缀,即打印文件名 NAME 并删除任何前导目录组件...用于计算 shell 变量的算术表达式 ln 用于在文件之间创建链接 locate 用于名称查找文件 look 显示以给定字符串开头的行 lsblk 用于显示有关块设备的详细信息,这些块设备(除了...rev 用于字符反转行 rm 用于从 UNIX 文件系统删除文件、目录、符号链接对象 rmdir 用于在 Linux 从文件系统删除空目录 rmmod 用于从内核删除模块 route 当您想使用...IP/内核路由表时使用 rsync 两台主机或机器之间同步文件和目录 S 命令 描述 sar 用于监控 Linux 系统的资源, CPU 使用率、内存使用率、I/O 设备消耗。...虚拟作业有助于延迟执行 source 用于读取和执行文件的内容(通常是一组命令),在当前 shell 脚本作为参数传递 sort 用于对文件进行排序,特定顺序排列记录 split 用于将大文件拆分成小文件

    47811

    Linux命令大全,从A到Z都有总结,封神之作!

    在执行命令时将一个字符串替换为另一个字符串 amixer ALSA(Advanced Linux Sound Architecture) 声卡驱动程序的命令行混音器 aplay 用于 ALSA...banner 用于将大写的 ASCII 字符串打印到标准输出 basename 从文件名中去除目录信息和后缀,即打印文件名 NAME 并删除任何前导目录组件...expa 将制表符转换为文件的空格,当未指定文件时,它会从标准输入读取 expect 此命令或脚本语言适用于需要用户输入的脚本,通过提供输入来自动执行任务 export 是 bash shell...rev 用于字符反转行 rm 用于从 UNIX 文件系统删除文件、目录、符号链接对象 rmdir...sed 用于查找、过滤、文本替换、替换和文本操作,插入、删除搜索

    2.3K02

    VBS终极教程(2)

    说明 Description 属性包含一个说明快捷方式的字符串值。 .WorkingDirectory 为快捷方式指派工作目录,或者确定快捷方式使用的工作目录。...注意要发送空格,则请发送字符串 " "。可使用 SendKeys 同时发送多个键击。为此,可将每个键击顺序排列在一起,以此来创建表示一系列键击的复合字符串参数。...要指定在按下多个其它键时,下 SHIFT、CTRL 和 ALT 的组合,请创建复合字符串参数,用括号括起其中的组合键。...例如,要发送的组合键指定: 如果在按 e 和 c 的同时 SHIFT 键,则发送字符串参数 "+(ec)"。如果在按 e 时只 c(而不 SHIFT),则发送字符串参数 "+ec"。...为此,要创建复合字符串参数,以指定要重复的键击,并在其后指定重复次数。可使用 {键击数字} 形式的复合字符串参数来完成上述操作。

    77110

    生信自动化流程搭建 01 | Nextflow的介绍与安装

    第一个将字符串拆分为6个字符,然后将每个字符串写入带有前缀的文件, chunk_第二个接收这些文件并将其内容转换为大写字母。 最后,字符串在result输出,最终输view打印 。...最后,字符串被打印出来。 convertToUpper Processes 是并行执行的,因此不能保证处理第一个拆分字符(HELLO)将在执行第二个拆分字符(WORLD!)之前执行。...HELLO 十六进制数字(22/7548fa)标识唯一的流程执行。这些数字也是执行每个进程的目录的前缀。可以检查由它们生成的文件,使用这些数字来查找特定于进程的执行路径。...dlrow 将看到splitLetters实际上跳过了流程的执行(流程ID相同),并且从缓存检索了其结果。第二个过程预期执行,打印反转的字符串。...默认情况下,管道结果缓存在目录$PWD/work。根据的脚本,此文件夹可能会占用大量磁盘空间。如果确定不会继续执行管道,请定期清理此文件夹。

    3.6K10

    Shell基础入门

    仅路径方式是执行脚本文件自己,需要可执行权限 Shell脚本多命令处理 就是在Shell脚本文件编写多个Shell命令 案例需求 已知目录 /root/xn2001 目录,执行 batch.sh 脚本...,实现在 /root/xn2001/ 目录创建一个 one.txt,在 one.txt 文件增加内容 "Hello Shell" 步骤分析 使用 mkdir 创建 /root/xn2001 目录 创建脚本文件...案例需求: 创建脚本文件demo4.sh,并在脚本文件内部打印脚本文件名字、第一个输入参数、第二个输入参数 touch demo4.sh vim demo4.sh #内容 #!...echo输出字符串 echo 是一个Shell内置命令,用于在终端输出字符串并在最后默认加上换行符。...Shell expr 是一个功能强大,并且比较复杂的命令, 它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹 配、字符串提取,后续讲解。

    2.4K31

    40 个简单又有效的 Linux Shell 脚本示例

    这是一个简单的程序,将字符串 “HelloWorld” 打印到标准输出。然后,使用 vim 或 nano 编辑器创建 hello-world.sh 文件,并将以下行复制到其中。 #!.../hello-world.sh 它将打印出传递给脚本内部回显的字符串。 2、使用 echo 打印 echo 命令用于在 bash 打印信息。...这里的参数存储在 “$@” 脚本使用 Linuxcut 命令获取它们。 16、连接字符串 字符串处理对于广泛的现代 bash 脚本来说非常重要。...18、使用 cut 做截取 可以在脚本中使用 Linux cut 命令来截取字符串的一部分,也就是子字符串。下一个示例显示了如何做到这一点。 #!...23、从 Bash 脚本创建目录 使用 shell 脚本运行系统命令的能力使开发人员的工作效率大大提高。下面的简单示例将向您展示如何在 shell 脚本创建目录。 #!

    30810

    培养这10个习惯,你就离UNIX高手更进一步了

    pushd 和 popd 命令创建一个虚拟目录堆栈,pushd 命令用来更改您的当前目录并将其存储在堆栈,而 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。...List 8所示,使用不带文件名的 cat 命令只回显向标准输入键入的任何内容;> 重定向将该输入捕获到指定的文件。注意,在结束输入时必须提供文件结束字符,一般是 Ctrl-D。...从技术角度而言,正则表达式是表示某种模式的字符串(也就是说,由字母、数字和符号组成的字符序列),用于定义零或更长的字符串。正则表达式使用元字符(例如,星号 [*] 和问号 [?])...若要查看字符串 ing 是否出现在文件文本,请用 index() 函数,该函数返回 ing 首次出现的位置,这样您就可以使用它来进行进一步的字符串处理。...若要 tokenize(也就是说,将一行拆分为单词长度的片段)某个字符串,请使用 split() 函数。

    94460

    shell语法学习

    这是一个简单的程序,将字符串 “HelloWorld” 打印到标准输出。然后,使用 vim 或 nano 编辑器创建 hello-world.sh 文件,并将以下行复制到其中。 #!.../hello-world.sh Bash 它将打印出传递给脚本内部回显的字符串。 2.使用 echo 打印 echo 命令用于在 bash 打印信息。...这里的参数存储在 “$@” 脚本使用 Linuxcut 命令获取它们。 16.连接字符串 字符串处理对于广泛的现代 bash 脚本来说非常重要。...23.从 Bash 脚本创建目录 使用 shell 脚本运行系统命令的能力使开发人员的工作效率大大提高。下面的简单示例将向您展示如何在 shell 脚本创建目录。 #!...shell 命令 mkdir,并在仔细查看时将目录名传递给它。

    1.2K40

    Shell脚本编程30分钟入门

    示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,...一共循环10次 第6行:创建一个test_0…9.txt文件 第7行:循环体结束 mkdir, touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。...字符串 字符串shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了,哈哈),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。...单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串的变量是无效的 单引号字串不能出现单引号(对单引号使用转义符后也不行) 双引号...,grep负责找出特定的行,awk能将行拆分成多个字段,sed则可以实现更新插入删除写操作。

    1.5K20

    培养这10个习惯,你就离UNIX高手更进一步了

    Korn Shell 对于 Korn Shell 用户,文件名补全功能取决于 EDITOR 变量的值。如果 EDITOR 设置为 vi,那么您键入部分名称,然后 Esc 键后跟反斜杠 () 字符。...pushd 和 popd 命令创建一个虚拟目录堆栈,pushd 命令用来更改您的当前目录并将其存储在堆栈,而 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。...List 8所示,使用不带文件名的 cat 命令只回显向标准输入键入的任何内容;> 重定向将该输入捕获到指定的文件。注意,在结束输入时必须提供文件结束字符,一般是 Ctrl-D。...若要查看字符串 ing 是否出现在文件文本,请用 index() 函数,该函数返回 ing 首次出现的位置,这样您就可以使用它来进行进一步的字符串处理。...若要 tokenize(也就是说,将一行拆分为单词长度的片段)某个字符串,请使用 split() 函数。

    78720

    一篇文章学习 linux 命令

    如果 for 循环中循环访问的文件名含有空字符(空格、tab 字符),只需用 IFS=$'\n' 把内部字段分隔符设为换行符。...截断字符串:${var%suffix} 和 ${var#prefix}。例如,假设 var=foo.pdf,那么 echo ${var%.pdf}.txt 将输出 foo.txt。...split(大小拆分)和 csplit(模式拆分)。...*(每行都会附上文件名)或者 head -100 *(每个文件有一个标题)来阅读检查目录下所有文件的内容。这在检查一个充满配置文件的目录 /sys、/proc、/etc)时特别好用。...cal:漂亮的日历 env:执行一个命令(脚本文件很有用) printenv:打印环境变量(调试时或在写脚本文件时很有用) look:查找以特定字符串开头的单词或行 cut,paste 和 join

    2.2K22

    玩转Python? 一文总结30种Python的窍门和技巧!

    2.检查所需的最低Python版本 大家可以在代码检查Python版本,以确保没有使用不兼容的版本运行脚本。...比如: %cd —更改当前工作目录 %edit —打开编辑器并在关闭编辑器后执行键入的代码 %env —显示当前环境变量 %pip install [pkgs] —在不离开交互式shell的情况下安装软件包...10.首字母大小写 使用capitalize()函数将字符串的首字母转为大写,其余变为小写。 "welcome".capitalize() 11.将字符串拆分为列表 你可以将字符串拆分字符串列表。...在这种情况下,我们分割空格字符: list("welcome") 12.从字符串列表创建一个字符串 反之亦然,从上一个技巧开始,从列表创建一个字符串并在每个单词之间添加一个空格字符: " ".join...18.从列表或字符串获取唯一元素 通过使用set()函数创建一个集合,你可以从列表或类似列表的对象a=[1,1,2,3,4,4]获取所有唯一元素。

    87820

    高级shell脚本编程指南_python的快速入门

    字符串 3.1 字符串类型 在shell字符串shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。...后台运行的最后一个进程的ID号 $@ 与∗ 相 同 , 但 是 使 用 时 加 引 号 , 并 在 引 号 返 回 每 个 参 数 。 ” *相同,但是使用时加引号,并在引号返回每个参数。...”∗相同,但是使用时加引号,并在引号返回每个参数。”@“用「”」括起来的情况、以”$1″ “2 ” … ” 2″ … “2”…”n” 的形式输出所有参数。...commandN done # 写成一行同样使用分号将语句分开 需要注意的是: in列表可以包含替换、字符串和文件名 in列表是可选的,如果默认不适用,将会循环使用命令行的位置参数 应用脚本编写如下...while循环的格式,同样可以做到和C语言中一样, 使用while循环进行判定或者判断键盘循环,甚至无限循环,如下使用while循环读取键盘操作 echo '下 退出' echo -n '

    3.2K10

    Linux 命令行的艺术

    截断字符串:${var%suffix} 和 ${var#prefix}。例如,假设 var=foo.pdf,那么 echo ${var%.pdf}.txt 将输出 foo.txt。...替换一个或多个文件中出现的字符串: perl -pi.bak -e's/old-string/new-string/g'my-files-*.txt 使用 repren 来批量重命名文件,或是在多个文件搜索替换内容...split(大小拆分)和 csplit(模式拆分)。...*(每行都会附上文件名)或者 head -100 *(每个文件有一个标题)来阅读检查目录下所有文件的内容。这在检查一个充满配置文件的目录 /sys、/proc、/etc)时特别好用。...cal:漂亮的日历 env:执行一个命令(脚本文件很有用) printenv:打印环境变量(调试时或在写脚本文件时很有用) look:查找以特定字符串开头的单词或行 cut,paste 和 join

    4.5K10

    【建议收藏系列】爆肝3w字带你理解什么叫运维~

    /test.sh source或者.命令是Shell的内建命令,这种方式也不会创建Shell,而是直接在交互式Shell下逐行执行脚本的命令。...exit 1 fi exit 0 上例的read命令的作用是等待用户输入一行字符串,将该字符串存到一个Shell变量。...再比如,要将当前目录下的chap0、chap1、chap2文件名改为chap0~、chap1~、chap2~惯例,末尾有~字符的文件名表示临时文件),这个命令可以这样写: $ for FILENAME...下面这个脚本可以一次创建多个目录,各目录名通过命令行参数传入,脚本逐个测试各目录是否存在,如果目录不存在,首先打印信息然后试着创建目录。 #!...基本语法 我们知道C的变量和Shell脚本变量的定义和使用方法很不相同,表达能力也不相同,C的变量有各种类型,而Shell脚本变量都是字符串

    2.1K30

    GitHub 60000+ Star 登顶,命令行的艺术!

    如果 for 循环中循环访问的文件名含有空字符(空格、tab 字符),只需用 IFS=$'\n' 把内部字段分隔符设为换行符。...替换一个或多个文件中出现的字符串: perl -pi.bak -e 's/old-string/new-string/g' my-files-*.txt 使用 repren 来批量重命名文件,或是在多个文件搜索替换内容...split(大小拆分)和 csplit(模式拆分)。...*(每行都会附上文件名)或者 head -100 *(每个文件有一个标题)来阅读检查目录下所有文件的内容。这在检查一个充满配置文件的目录 /sys、/proc、/etc)时特别好用。...cal:漂亮的日历 env:执行一个命令(脚本文件很有用) printenv:打印环境变量(调试时或在写脚本文件时很有用) look:查找以特定字符串开头的单词或行 cut,paste 和 join

    92920

    Linux 操作系统下的bash read命令

    这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件的一行数据。 Bash附带了许多内置命令,您可以在命令行或Shell脚本中使用它们。 在本文中,我们将探讨内置的read命令。...bash内置read命令 read是bash内置命令,可从标准输入(或文件描述符)读取一行并将该行拆分为单词。 第一个单词分配给名字,第二个单词分配给名字,依此类推。...| (read var1 var2; echo -e "$var1 \n$var2") read和echo用括号括起来并在同一子shell执行。 Hello, World!...如果提供给read的参数数量大于从输入读取的单词数,则其余单词将分配最后字符串: echo "Linux is awesome." | (read var1 var2; echo -e "Var1:...提示字串 编写交互式bash脚本时,可以使用read命令获取用户输入。 要指定提示字符串,请使用-p选项。 该提示会在执行read之前打印出来,并且不包含换行符。

    2.3K40

    shell基础知识

    标志的是一个路径名,指向执行当前shell脚本文件的命令解释程序。: #!/usr/bin/ksh 如果shell脚本包含多个特殊的标志行,只有一个标志行起作用。...4 变量 shell变量名可以由任何字母、数字和下划线字符组成,但第一个字符必须是字母或下划线。 shell的所有变量都是字符串类型的,shell并不区分变量的类型。...: str1=str2,比较字符串str1于str2,如果计算结果真,同时输出1,但返回值为0。...let命令除了expr支持的五种算术运算外,let命令还支持+=、-=、*=、/=、%= 13 数值常数 shell脚本十进制解释字符串的数字字符,除非数字前有特殊的前缀或记号。...s1=s2,如果给定的字符串s1同于字符串s2,则条件测试的结果为真。 s1!=s2,如果给定的字符串s1不等同于字符串s2,则条件测试的结果为真。

    95940
    领券