shell编程读文档name.txt 的第二列,然后使用while循环实现数组遍历
时间: 2024-02-01 19:16:32 浏览: 23
假设name.txt的内容如下:
```
Tom 18
Jerry 20
Mickey 25
```
可以使用以下shell脚本读取第二列并遍历:
```shell
#!/bin/bash
# 读取第二列并存入数组
ages=($(awk '{print $2}' name.txt))
# 遍历数组
i=0
while [ $i -lt ${#ages[@]} ]
do
echo "age[$i]: ${ages[$i]}"
i=$(($i+1))
done
```
输出结果为:
```
age[0]: 18
age[1]: 20
age[2]: 25
```
解释一下脚本的实现过程:
1. 使用awk命令读取name.txt文件中的第二列,将结果存入ages数组中。
2. 使用while循环遍历ages数组,输出每个元素的值。其中,`${#ages[@]}`表示数组的长度,`$(($i+1))`表示将变量`$i`加1。
相关问题
shell 读文档name.txt 的第二列,然后使用while循环实现数组遍历。
假设name.txt文件中每一行都包含两列数据,第一列是编号,第二列是名称。可以使用以下shell脚本实现读取第二列数据并遍历:
```shell
#!/bin/bash
# 读取文档name.txt的第二列数据
names=$(cut -f 2 name.txt)
# 将names字符串按照空格分隔成数组
names_array=($names)
# 遍历数组
for name in "${names_array[@]}"
do
echo "名称:$name"
done
```
上述脚本首先使用cut命令读取name.txt文件的第二列数据,并将结果保存在names变量中。接着,利用空格将names字符串分隔成数组,存储到names_array变量中。最后,使用for循环遍历数组,输出每个名称。
读文档name.txt 的第二列,然后使用while循环实现数组遍历shell
假设name.txt的内容如下:
```
1 Alice
2 Bob
3 Charlie
4 David
5 Eve
```
可以使用以下Shell脚本实现:
```
#!/bin/bash
# 读取name.txt的第二列到数组中
names=($(awk '{print $2}' name.txt))
# 使用while循环遍历数组
i=0
while [ $i -lt ${#names[@]} ]
do
echo ${names[$i]}
i=$((i+1))
done
```
运行以上脚本,输出为:
```
Alice
Bob
Charlie
David
Eve
```