Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3031941
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2011-11-07 22:55:35

cat a
1
2
3
4
5

cat b
a
b
c
d
e

要得到下面的格式:
1 a
2 b
3 c
4 d
5 e


  1. while read -u3 A && read -u4 B
  2. do
  3.     echo $A $B
  4. done 3<a 4<b
[解析]
用FD3和FD4读入这3个文件,然后呢再用 read -u 参数读取FD,然后利用while循环同时打印出来。



  1. #!/bin/bash

  2. A=(`<a`)
  3. i=0
  4. while read B
  5. do
  6.         printf "%s %s\n" ${A[$i]} $B
  7.         ((i++))
  8. done<b
[解析]
这是利用1个数组保存a的内容,然后while循环读取b的内容,再同时通过下标i的自增打印数组和行。



  1. #!/bin/bash

  2. while read A
  3. do
  4.         ((n++))
  5.         m=0
  6.         while read B
  7.         do
  8.                 ((m++))
  9.                 [ $n -eq $m ] && { echo $A $B;break;}
  10.         done <b
  11. done <a
[解析]
这是最基本的做法,用两个循环搞定。
阅读(1984) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~