Chinaunix首页 | 论坛 | 博客
  • 博客访问: 466419
  • 博文数量: 93
  • 博客积分: 5006
  • 博客等级: 上校
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-30 13:58
文章分类

全部博文(93)

文章存档

2012年(2)

2011年(68)

2010年(23)

分类: Python/Ruby

2011-09-15 09:46:49

for的语法结构如下:
一、

for 变量 in 串行
do
    命令区域
done
二、

for(( ; ;))
do
    命令区域
done

实际使用中的例子
第一种情况,可以直接写入字符串
panda@panda-pc:~/Code/Shell$ cat for_test.sh
#! /bin/bash

#简单的for循环

 for i in 1 2 3 4 5
 do
 echo $i
 done

第二种情况,可以写变量名
panda@panda-pc:~/Code/Shell$ cat for_test1.sh
#! /bin/bash

IFS=':'

PL="root:x:0:0:root:/root:/bin/bash"

for f in $PL
do
    echo $f
done

第三种情况,可以写命令
panda@panda-pc:~/Code/Shell$ cat for_test4.sh
#! /bin/bash

DIR="/etc"
i=0
for f in $(ls $DIR)
do
    i=i+1
    echo -n "文件i:$f".'\t'
done

注:但是对于awk中的语法,有些不同
panda@panda-pc:~/Code/Shell/Interview_questions$ awk '{a[$1]=a[$1]" "$2}END{for(i in a)print $i,a[i]}' data
李四  90  78 90
李四  90  88 99
李四  90  77 90
李四  90  88 80
panda@panda-pc:~/Code/Shell/Interview_questions$ awk '{a[$1]=a[$1]" "$2}END{for(i in a)print i,a[i]}' data
陈涛  78 90
王五  88 99
李四  77 90
张三  88 80

两者的差别就是一个输出的时候加$了,一个没有加$。


阅读(6127) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~