编写如下shell脚本
创建名为Organizer的shell脚本用以整理学生数据:假设有一名为Students的文本文件存放学生基本信息,每一行的格式为:“姓名;专业;省份”,该脚本能够将学生信息依据省份导入北方和南方个两个不同的文件(华北、东北、西北地区为北方,其余为南方),文件名分别是NorthStudents和SouthStudents,如果省份信息存在错误则放入另一个文件ErrStudentsInfo,内容保持不变。
#!/bin/bash
function find(){
cat Students.txt |while read line
do
# echo "$line"
#拆分字符串到数组
str=$line
OLD_IFS="$IFS"
IFS=";"
arr=($str)
IFS="$OLD_IFS"
#为自定义变量赋值
PARAM=${arr[2]}
case $PARAM in
"山东"| "山西"| "陕西"| "河北"| "河南"| "甘肃"| "宁夏"| "青海"| "西藏"| "新疆"| "内蒙古"| "辽宁"| "吉林"| "黑龙江"| "北京"| "天津")
echo "$line">>$NorthStudents
;;
"江苏"| "安徽"| "湖南"| "湖北"| "四川"| "云南"| "贵州"| "广东"| "广西"| "福建"| "江西"| "浙江"| "台湾"| "海南"| "上海"| "香港"| "澳门")
echo "$line">>$SouthStudents
;;
*)
echo "$line">>$ErrStudentsInfo
esac
done
}
find
本次操作最为重要的是把每一行其中得省份信息读取出来即
#拆分字符串到数组
str=$line
OLD_IFS="$IFS"
IFS=";"
arr=($str)
IFS="$OLD_IFS"
#为自定义变量赋值
PARAM=${arr[2]}
姓名;专业;省份
根据其中的分号把一行信息划分为3个字符串存入数组当中,再把其中得省份信息读取出来进行判断。
本文介绍如何编写一个名为Organizer的shell脚本,用于整理Students文本文件中的学生信息。脚本根据学生的省份将信息分为北方(华北、东北、西北)和南方两个文件,错误信息则存入ErrStudentsInfo文件。每行信息按“姓名;专业;省份”格式,通过分号拆分后,判断省份归属。
3246

被折叠的 条评论
为什么被折叠?



