Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269158
  • 博文数量: 48
  • 博客积分: 6828
  • 博客等级: 大校
  • 技术积分: 555
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-01 10:10
文章分类

全部博文(48)

文章存档

2012年(1)

2011年(9)

2010年(38)

分类:

2011-09-18 18:57:54

原文地址:shell中的for循环 作者:随1意2o

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

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


阅读(2610) | 评论(0) | 转发(0) |
0

上一篇:什么什么啊

下一篇:缘木求鱼

给主人留下些什么吧!~~