发布网友 发布时间:2022-04-25 12:46
共5个回答
热心网友 时间:2024-03-04 15:45
兄弟,你要给个你原来文本。你不给的话,我会回答你:
#!/bin/sh
echo "输出60分以下同学的成绩和名字"
tem.sh及实际运行如下:
[root@* ~]# cat text
a 88
b 77
c 58
d 53
e 25
f 92
[root@* ~]# cat tem.sh
#!/bin/sh
cat text | sort -k2 | while read line
do
score=`echo $line | cut -d" " -f2`
if [ $score -lt 60 ]
then
echo "$line " >> test.sh
fi
done
[root@* ~]# ./tem.sh
[root@* ~]# cat test.sh
e 25
d 53
c 58
热心网友 时间:2024-03-04 15:45
文件处理比较推荐用awk
awk '{if($2 > 60){print $0}}' Text.sh
写入shell里面就是
#!/bin/sh
awk '{if($2 > 60){print $0}}' Text.sh
因为是批处理 数据量大的时候处理速度要比shell快多了
热心网友 时间:2024-03-04 15:46
#!/bin/sh
score #分数,然后应该有一个参照表可以参考的!
[score -lt 60] && echo "输出60分以下同学的成绩和名字"来自:求助得到的回答
热心网友 时间:2024-03-04 15:46
awk 'if ($2<60) {print $1 "\t" $2 }' text.txt
热心网友 时间:2024-03-04 15:47
你总得提供个欲处理的数据文件吧,要不怎么编程?