-1
这里是我的代码:庆典,贝壳,意外的标记做
echo -n "Enter 3 parameters in format file-num1-num2: "
str=""
while read param
do
echo $param >|temp
fname=$(cut -d"-" -f1 temp)
num1=$(cut -d"-" -f2 temp)
num2=$(cut -d"-" -f3 temp)
range=$num1"-"$num2
head -$num3 $fname >|temp
tail -$num1 temp >|temp
st=$fname"-"$(wc -c <temp)
str=$str" "$st"-"$range
echo $(wc -c <temp) >>temp2
echo -n "Enter 3 parameters in format file-num1-num2: "
done
sort temp2 >|temp
c=$(wc -l temp)
c2=0
while [ $c2 -lt $c ]
do
((c2++))
head -$c2 temp >|temp3
tail -1 temp3 >|temp3
num=$(cat temp3)
for x in $str
do
echo $x >| temp4
fname=$(cut -d"-" -f1 temp4)
ran=$(cut -d"-" -f2 temp4)
sh=$(cut -d"-" -f3 temp4)
if [ $ran -eq $num ]
then
echo "The size of file $fname in lines $sh is: $num"
done
done
rm temp
rm temp2
rm temp3
rm temp4
确定这样的问题是,当我运行该脚本,我得到这个错误:
./P4.4: line 36: syntax error near unexpected token `done'
./P4.4: line 36: `done'
,当我运行它一些原因第一个循环卡住了,我需要按ctrl^d保持它去,并做了两次摆脱循环
这就是代码应该这样做:
输入:
g-5-7
f-2-4
输出:
The size of file f in lines 2-4 is: 16
The size of file g in lines 5-7 is: 10
文件G:
12
34
56
78
910
ab
wz
文件f:
aa
bb c
dd ef
gh x
ttt
请阅读格式问题。这在很大程度上是不可读的。 – favoretti
此外,请参阅http://shellcheck.net/进行一层自动化审查 - 至少在我们问这里之前,让我们修复它发现的错误。 –
是的,请正确格式化。此外,你是否编号的代码行?如果是这样,请在格式化时删除不属于代码一部分的任何字符。 –