我有一个用 tcsh 编写的脚本。
#!/bin/tcsh -f
set sublen = `echo $1 | wc -c`
@ sublen = $sublen + 10
echo Grades for $1
echo =================
grep -wr --include=?????????.std $1 * | cut -d " " -f 2 | sort -rn
输出如下所示:
Grades for <$1>
=================
<arbitrary 2nd field>
<arbitrary 2nd field>
<arbitrary 2nd field>
但是我希望它还在每个排序行之前输出文件名(减去“.std”)。所以它看起来更像这样:
Grades for <$1>
=================
111111111 <arbitrary 2nd field>
222222222 <arbitrary 2nd field>
333333333 <arbitrary 2nd field>
我一直在尝试使用分成两部分的脚本,一个用于使用循环打印行,另一个用于对它们进行排序,但是只要参数与文件中的任何行都不匹配,就会导致错误。