IFS=$‘\n‘
for line in `ls -l`
do
(( count++ ))
done
echo $count
注意:
for读取时,自动按空格作为间隔符。因此需要将IFS定义为按换行符分隔
ls -l > forout.log
maxlength=$(wc -l < forout.log)
for i in `seq $maxlength`
do
(( count++ ))
done < forout.log
echo $count
注意:
wc 需要使用重定向方式,否则输出的格式是”行数 文件名”。
while read line
do
(( count++ ))
done < readFile.log
echo $count
注意
如果while条件表达式没有写read,则会输出line,但最后结果是一样的
cat readFile.log | while read line
do
#(( count++ ))
echo "$line"
done
#echo $count
注意
最后输出的count是空值,感觉是因为一个管道符生成了一个子进程,而子进程的变量无法返回父进程
ime命令 用于 打印出一条命令或一个程序的执行时间
time 命令以秒为单位将一条命令执行期间所用的时间、系统时间和 time 命令的执行时间打印在标准错误中。
用法:time [ -p ] Command [ Argument … ]
time命令结果有三行组成:real、user和sys。我们这里用的都是real值,CPU用时被划分为user和sys两块。
测试上述四种方法
1.
real 0m0.022s
user 0m0.000s
sys 0m0.004s
2.
real 0m0.066s
user 0m0.004s
sys 0m0.016s
3.
real 0m0.001s
user 0m0.000s
sys 0m0.000s
4.
real 0m0.015s
user 0m0.000s
sys 0m0.008s
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/havedream_one/article/details/47102069