我想从文件中提取一些数据并将其保存在数组中,但我不知道该怎么做。
在下面,我从/etc/group 中提取一些数据并将其保存在另一个文件中,然后我打印每个项目:
awk -F: '/^'$GROUP'/ { gsub(/,/,"n",$4) ; print $4 }' /etc/group > $FILE
for i in `awk '{ print $0 }' $FILE`
do
echo "member: "$i" "
done
但是,我不想将数据提取到文件中,而是提取到数组中。
members=( $(awk -F: '/^'$GROUP':/ { gsub(/,/,"n",$4) ; print $4 }' /etc/group) )
带括号的赋值表示$members
是一个数组。 原始的 awk
命令已包含在 $(...)
中,并添加了冒号,以便如果您在文件中有group
和group1
,并且您查找group
,您也不会获得group1
的数据。 当然,如果你想要两个条目,那么你去掉我添加的冒号。
j=0
for i in `awk '{ print $0 }' $FILE`
do
arr[$j] = $i
j=`expr $j + 1`
done
arr=($(awk -F: -v g=$GROUP '$1 == g { gsub(/,/,"n",$4) ; print $4 }' /etc/group))