我正在从一个文本文件向服务器中写入一个RSH脚本,并在每个系统上创建一个特定的用户。我在一所大学工作,该大学目前正在为他们的课程测试亚马逊EC2。是否可以在文本文件中使用冒号或逗号分隔值,如下所示:
server.edu:user123:John:email@university.edu并将它们作为$server $username等传递给BASH脚本。
发布于 2013-12-04 05:32:30
是的,你可以这样使用它:
> s='server.edu:user123:John:email@university.edu'
> IFS=: read server username email <<< "$s"
> echo "$server"
server.edu
> echo "$username"
user123
> echo "$email"
John:email@university.edu用于从文件逐行读取此数据的EDIT::
while IFS=: read server username email; do
echo "$server"
echo "$username"
echo "$email"
done < file发布于 2013-12-04 05:51:10
可以直接将文件中以冒号分隔的数据行读取到数组中,并对其进行索引:
while IFS=: read -a userdata; do
printf "server: %s\n" "${userdata[0]}"
printf "username: %s\n" "${userdata[1]}"
printf "name: %s\n" "${userdata[2]}"
printf "email: %s\n" "${userdata[3]}"
done < data_filehttps://stackoverflow.com/questions/20362069
复制相似问题