shell怎么将文本按每行作为一个元素写入数组
时间: 2024-10-27 11:13:45 浏览: 19
在 Bash shell 中,如果你想把文本文件的内容按每行作为一个元素添加到数组中,可以使用循环和变量来实现。这里是一个简单的步骤:
1. 首先创建一个名为 `array` 的空数组,如 `array=()`。
2. 使用 `read` 命令逐行读取文本文件的内容,将每行存储在一个临时变量中。
3. 将临时变量赋值给数组的某个位置,通常数组的索引是从0开始的。
下面是一个示例脚本,假设文本文件名为 `file.txt`:
```bash
#!/bin/bash
# 创建一个空数组
array=()
# 打开文件并逐行读取
while IFS= read -r line; do
# 把每行添加到数组中,这里假设数组长度足够大,如果不确定可以用 `array+=(line)` 替换
array+=("$line")
done < file.txt
# 输出数组的内容验证是否成功
echo "${array[@]}"
```
在这个脚本中,`IFS= read -r line` 会读取文件的一行,`IFS=` 设置内部字段分隔符为默认的空白字符,`-r` 表示避免反斜杠转义。`array+=("$line")` 将当前行追加到数组中。
阅读全文