2008年07月16日

问题:
如何将命令的输出信息按行放入到数组里面?

解法:
1.

BASH:
  1. n=0
  2. while read line;do
  3.         array[$n]="$line"
  4.         ((n++))
  5. done <<(traceroute 192.168.1.1 -n)
  6.  
  7. echo ${array[0]}

问题:
可以同时匹配多个条件?

比如
file:
AAA BBB CCC DDD
AAA BBB DDD
CCC DDD

能实现,同时匹配AAA和CCC就打印,在一条命令中

解法:
1.

BASH:
  1. -n '/AAA/{/CCC/p}'

同时匹配kobe和james:
-n '/kobe/{/james/p}'
'/kobe/&&/james/{ print $0 }'

匹配kobe或james:
-n '/\(kobe\|james\)/p'
'/kobe/||/james/{ print $0 }'
seq 5| '$!N;$!D'

标签 :

3 楼了已经

  • luguo写于08年07月16日

    恩,第一个中那个重定向用得不错。
    我的第2个的解法:
    perl -ne 'print if /AAA/ && /CCC/;' test.txt

  • wind写于08年07月17日

    娃最近怎么天天脚本呢?

  • cocobear写于08年07月18日

    那你说我做什么啊。这儿有个驱动,你帮我写写吧。我不会。

发表评论

在下面加入你的评论,或者 trackback 从你的博客站点。 订阅本文的评论。

:

:

:

« shell脚本解题2
» shell脚本解题4