Chinaunix

标题: 脚本执行错误 [打印本页]

作者: LIerWx    时间: 2016-12-06 14:54
标题: 脚本执行错误
  1. #!/bin/bash
  2. iplist=`cat test.txt |awk '{print $6}'`
  3. portlist=`cat test.txt |awk '{print $4}'|awk -F/ '{print $1}'`
  4. paste <(echo "$iplist") <(echo "$portlist")
  5. temp=`paste <(echo "$iplist") <(echo "$portlist")`
  6. echo "$temp" |awk '{OFS=":"}{$1=$1;print $0}'
复制代码
我要执行的文本是这样
  1. Discovered open port 8119/tcp on 192.168.1.100
  2. Discovered open port 8019/tcp on 192.168.1.100
  3. Discovered open port 8029/tcp on 192.168.1.110
  4. Discovered open port 8080/tcp on 192.168.1.110
  5. Discovered open port 8122/tcp on 192.168.1.101
  6. Discovered open port 80/tcp on 192.168.1.128
  7. Discovered open port 8239/tcp on 192.168.1.139
复制代码

但我运行脚本时报错:
  1. [root@lv1 ~]# sh test.sh
  2. test.sh: line 4: syntax error near unexpected token `('
  3. test.sh: line 4: `paste <(echo "$iplist") <(echo "$portlist")'
  4. [root@lv1 ~]#
复制代码
请问这是什么原因呢?



作者: haooooaaa    时间: 2016-12-06 15:03
  1. awk -F'[/ ]' '{print "http://"$NF":"$4}'
复制代码

作者: LIerWx    时间: 2016-12-06 15:19
haooooaaa 发表于 2016-12-06 15:03

多谢大神

作者: moperyblue    时间: 2016-12-06 15:45
more 1.sh
  1. #!/bin/bash

  2. while read i; do
  3. awk '{match($0,/port ([0-9]+).*on (.*)/,a);print "http://"a[2]":"a[1]}' <<< "$i"
  4. done < test.txt
复制代码

作者: moperyblue    时间: 2016-12-06 15:52

  1. awk '{print "http://"$2":"$1}' FPAT="([0-9]+\.){3}[0-9]+|[0-9]+" test.txt #gawk4.0+
复制代码

作者: LIerWx    时间: 2016-12-06 19:06
回复 5# moperyblue

多谢,这个也可以的。





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2