当前位置:编程学习 > 网站相关 >>

bash的for循环从命令读取值

bash的for循环可以很方便地从命令读取值,还可以指定分割值

下面的程序可以打印文件的内容,前面加上行号

 

#!/bin/bash 
# 打印每一行的内容,前面加行号 
filename="/home/wxp/LatexTemplate/buildtex.sh" 
# 将换行符号作为分割符号 
IFSOLD=$IFS 
IFS=$'\n' 
# 注意for循环中的是反引号,不是单引号 
LineNum=00 
for CLine in `cat $filename` 
do 
    # 循环中可以使用$[]进行数学运算 
    LineNum=$[$LineNum+01] 
    #if中判断是否小于10,如果小于10就加空格 
    if [ $LineNum -lt 10 ] 
    then 
        num="0$LineNum" 
    else 
        num=$LineNum 
    fi 
    echo "$num:$CLine" 
done 
# 还原默认的分割符号 
IFS=$IFSOLD 

#!/bin/bash
# 打印每一行的内容,前面加行号
filename="/home/wxp/LatexTemplate/buildtex.sh"
# 将换行符号作为分割符号
IFSOLD=$IFS
IFS=$'\n'
# 注意for循环中的是反引号,不是单引号
LineNum=00
for CLine in `cat $filename`
do
 # 循环中可以使用$[]进行数学运算
 LineNum=$[$LineNum+01]
 #if中判断是否小于10,如果小于10就加空格
 if [ $LineNum -lt 10 ]
 then
  num="0$LineNum"
 else
  num=$LineNum
 fi
 echo "$num:$CLine"
done
# 还原默认的分割符号

=$IFSOLD实际打印文件的方法很多,上面的例子只是为了说明如何使用bash而已


 

\

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,