📜  bash 将字符串拆分为数组 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:28.551000             🧑  作者: Mango

Bash 将字符串拆分为数组 - Shell-Bash

在Bash脚本中,您可能会遇到需要将字符串拆分为数组的情况。这可以通过Bash内置的命令实现,即read命令和IFS(Internal Field Separator)分隔符。

示例

假设您有一个由逗号分隔的字符串,例如"apple,banana,orange"。您可以使用以下命令将其拆分为数组:

#!/bin/bash

# 定义逗号分隔的字符串 
fruits="apple,banana,orange"

# 使用IFS设置分隔符为逗号
IFS=',' read -ra arr <<< "$fruits"

# 遍历数组中的元素并打印它们
for i in "${arr[@]}"; do
  echo "$i"
done

运行该脚本,结果如下所示:

apple
banana
orange
解释

让我们逐行解释上述示例中的代码:

# 定义逗号分隔的字符串 
fruits="apple,banana,orange"

在此行中,我们定义了一个逗号分隔的字符串,该字符串由三个水果组成。

# 使用IFS设置分隔符为逗号
IFS=',' read -ra arr <<< "$fruits"

在此行中,我们首先使用IFS命令将分隔符设置为逗号。然后,我们使用read命令将字符串读入数组arr中。以下是read命令的选项:

  • -r: 禁用反斜杠转义
  • -a: 将输入读入到数组中而不是变量中
  • <<< "$fruits": 输入字符串来自变量fruits
# 遍历数组中的元素并打印它们
for i in "${arr[@]}"; do
  echo "$i"
done

在此行中,我们使用一个循环遍历数组中的元素,并打印它们。

总结

在Bash脚本中,将字符串拆分为数组非常简单。只需使用read命令和IFS分隔符。希望这个简短的教程可以帮助您理解如何在Bash脚本中处理字符串。