Shell脚本帮助读取文件

时间:2016-02-12 22:44:03

标签: bash shell sh

我有一个作业,我在一个文件中阅读,这是我的代码

#Reads in file
while read line; do
echo `wc -l` "is the number of students in the input file."
echo `grep '^[^4]'| wc -l`

done <students.txt

基本上我正在尝试显示不以4开头的学生ID的数量。我希望grep'^ [^ 4]'| wc -l可以做到这一点,但它只返回0.下面是正在读入的文本。有关如何实现这一点的任何建议(这是一个介绍UNIX类,所以我现在无法真正使用任何东西哈哈)。

256-56-8411  Bob      3.61  junior     cs
471-44-7458  Tim      3.45  senior     ce
326-56-4286  Rajesh   2.97  freshman   te
548-66-1124  Eric     2.88  sophomore  ee
447-21-3599  John     2.51  junior     cs
911-41-1256  Rebecca  3.92  senior     cs
854-22-6372  Robin    2.45  freshman   te

1 个答案:

答案 0 :(得分:4)

是否必须使用read?因为你没有必要。您如何看待简单的grepwc -l

FILE="students.txt"

echo "$(cat "$FILE" | wc -l) is the number of students in the input file"
echo "$(grep -c '^[^4]' "$FILE") is the number of student ID's that do not start with a 4"