Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1642243
  • 博文数量: 409
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 4908
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 00:04
文章分类

全部博文(409)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(13)

2015年(22)

2013年(4)

2012年(240)

2011年(127)

分类:

2011-10-17 13:03:09

原文地址: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

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


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