linux将Bash数组的元素连接为分隔符分隔的字符串
001、 方法1
[root@pc1 test]# ls test.sh [root@pc1 test]# cat test.sh ## 测试程序 #!/bin/bash function join_by { ## 定义函数 local IFS="$1" ## IFS定义输入分隔符, 其中local关键字限制变量的作用域为函数的内部 shift ## shift表示位移 echo "$*" ## $*是shell脚本内部变量,用于表示shell脚本的所有参数 } FOO=(a b c) ## 定义序列数组 join_by , "${FOO[@]}" ## 调用函数,第一个参数为,号, 第二个参数为序列数组FOO的作用元素值 [root@pc1 test]# bash test.sh ## 程序输出结果 a,b,c
可以利用上面的函数将数组的元素使用不同的分隔符进行连接, 如下:
[root@pc1 test]# ls test.sh [root@pc1 test]# cat test.sh ## 测试函数 #!/bin/bash function join_by { local IFS="$1" shift echo "$*" } FOO=(a b c) join_by - "${FOO[@]}" ## 这里函数调用的时候,第一个参数为-号,也就是输入分隔符 [root@pc1 test]# bash test.sh ## 执行程序 a-b-c
002、 方法2
[root@pc1 test]# ls test.sh [root@pc1 test]# cat test.sh ## 测试程序 #!/bin/bash foo=(a b c) ## 定义数组 bar=$(printf ",%s" "${foo[@]}") ## 利用printf函数格式化功能,在数组的每一个元素前增加,号 bar=${bar:1} ## 利用字符串切片,去掉开头的,号 echo $bar ## 输出连接后的字符串 [root@pc1 test]# bash test.sh a,b,c
参考:
01、https://mp.weixin.qq.com/s?__biz=Mzg4ODA5NDEwNw==&mid=2247484258&idx=1&sn=f0ed7fc66f88b8e3fa525fc625397da6&chksm=cf812f96f8f6a68092f86e76e0647e9a8846489f14b9ae4fd8a8ba4754d46467f6904f728205&mpshare=1&scene=23&srcid=1105JuuwIOvnyDXywQpU12wQ&sharer_shareinfo=08a4e37eb87ef12d6289032dbd2e765c&sharer_shareinfo_first=08a4e37eb87ef12d6289032dbd2e765c#rd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-11-05 could not find function "read_excel"
2021-11-05 R语言中计算几何平均数
2021-11-05 R语言中计算变异系数
2021-11-05 R语言中统计频数分布
2020-11-05 什么是端口?
2020-11-05 linux系统中防火墙管理工具iptables
2020-11-05 linux系统中nmcli命令、查看、添加、删除、编辑网络会话