我有一个包含这个的文本文件:
Hello 4
Bye 2
Toto 2
我想将每行的第一个字符串放入 MyArray1,将整数放入另一个 MyArray2。
我写了这个,但它不起作用。
#!/bin/bash
countline=$(awk '{ print $1 }' test | wc -l)
for ((i=0; i<$countline ;i=i+1))
do
MyArray1[$i]=awk '{ print $1 }' test
done
for ((i=0; i<$countline ;i=i+1))
do
MyArray2[$i]=awk '{ print $2 }' test
done
请帮帮我。
最佳答案
这样就可以了:
while read -r f1 f2; do
ary1+=("$f1")
ary2+=("$f2")
done < file
$ printf "%s\n" "${ary1[@]}"
Hello
Bye
Toto
$ printf "%s\n" "${ary2[@]}"
4
2
2
或者你可以使用cut
arryone=( $(cut -d ' ' -f1 file) )
arrytwo=( $(cut -d ' ' -f2 file) )
关于arrays - awk 命令结果放入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17556641/