初学shell碰到两个问题,求助高手
发表于 : 2008-04-01 18:17
问题一:
用以下程序输出1到999999到文件中,但是执行的效率很低,全部算完需要花很多的时间,有没有其它的实现方法
问题二:
假定有一个文件abc.txt,现在取出它最后一行的内容放入变量中,但此时将该变量echo出来的话,光标不是在变量的末端,而是在前头,这时会出现一些问题。可能讲起来不是很清楚,看看程序就知道了。
假定number.dic文件是三行内容是
一二三四五
四三二一
三二
那么程序运行后的结果是
"三二二一五"
而不是我想得到的"一二三四五 四三二一 三二"
用以下程序输出1到999999到文件中,但是执行的效率很低,全部算完需要花很多的时间,有没有其它的实现方法
代码: 全选
# !/bin/sh
i=1
while [ $i -le 999999 ] ; do
echo $i | tee -a number.dic
i=$(($i+1))
done
echo "finish"
假定有一个文件abc.txt,现在取出它最后一行的内容放入变量中,但此时将该变量echo出来的话,光标不是在变量的末端,而是在前头,这时会出现一些问题。可能讲起来不是很清楚,看看程序就知道了。
代码: 全选
# !/bin/sh
rm try.txt
#获得文件的总行数
dic="number.dic"
line_all=`cat $dic |wc -l`
try1=`cat $dic |sed -n ${i}p`
i=$(($i+1))
try2=`cat $dic |sed -n ${i}p`
i=$(($i+1))
try3=`cat $dic |sed -n ${i}p`
echo "正在探测$try1 $try2 $try3"
一二三四五
四三二一
三二
那么程序运行后的结果是
"三二二一五"
而不是我想得到的"一二三四五 四三二一 三二"