为了账号安全,请及时绑定邮箱和手机立即绑定

将文件中的行读取到Bash数组中

将文件中的行读取到Bash数组中

临摹微笑 2019-10-24 11:02:18
我正在尝试将包含行的文件读取到Bash数组中。到目前为止,我已经尝试了以下方法:尝试1a=( $( cat /path/to/filename ) )尝试2index=0while read line ; do    MYARRAY[$index]="$line"    index=$(($index+1))done < /path/to/filename两次尝试都只返回一个包含文件第一行的元素数组。我究竟做错了什么?我正在运行bash 4.1.5
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

该readarray命令(也拼写为mapfile)是在bash 4.0中引入的。


readarray a < /path/to/filename


查看完整回答
反对 回复 2019-10-24
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

将文件的每一行读入bash数组的最简单方法是:


IFS=$'\n' read -d '' -r -a lines < /etc/passwd

现在只需索引数组lines即可检索每一行,例如


printf "line 1: %s\n" "${lines[0]}"

printf "line 5: %s\n" "${lines[4]}"


# all lines

echo "${lines[@]}"


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 643 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信