在unix中在某个单词后剪切 协议=无主机=123.256.36.20端口=1256 描述=地址\列表=协议=无 主机=123.256.36.23端口=1256 描述=地址\列表=协议=无 主机=COLIN1-IMP.COMPORT=1566描述=地址\u列表=协议=NIL主机=COLIN2-IMP.COMPORT=1586 协议=无主机=123.256.36.25端口=1526

在unix中在某个单词后剪切 协议=无主机=123.256.36.20端口=1256 描述=地址\列表=协议=无 主机=123.256.36.23端口=1256 描述=地址\列表=协议=无 主机=COLIN1-IMP.COMPORT=1566描述=地址\u列表=协议=NIL主机=COLIN2-IMP.COMPORT=1586 协议=无主机=123.256.36.25端口=1526,unix,Unix,所需输出: 123.256.36.20:1256 123.256.36.23:1256 COLIN1-IMP.COM:1566 COLIN2-IMP.COM:1586 123.256.36.25:1526 使用的代码: 通过使用perl,我获得了主机和端口值。通过使用sed,我删除了 获得的产量: 123.256.36.20 =1256 123.256.36.23=1256 COLIN1-IMP.COM=1586 123.256.36.25 =1526 perl没有获取与COLIN1-IMP.C

所需输出:

123.256.36.20:1256 123.256.36.23:1256 COLIN1-IMP.COM:1566 COLIN2-IMP.COM:1586 123.256.36.25:1526 使用的代码:

通过使用perl,我获得了主机和端口值。通过使用sed,我删除了

获得的产量:

123.256.36.20 =1256 123.256.36.23=1256 COLIN1-IMP.COM=1586 123.256.36.25 =1526 perl没有获取与COLIN1-IMP.COM在同一行中的COLIN2-IMP.COM


帮帮我谢谢你我已经找到了我的疑问的答案我想和大家分享

cat for2.txt | perl -ne 'print "$1=$2\n" if(/HOST=([\w.]*.'-'*[\w.]*.).*PORT=(\d+)/)' > in.txt
sed 's|[()]||g' in.txt > in1.txt
cat for2.txt | perl -ne 'print "$1=$2\n" if(/HOST=([\w.]*.'-'*[\w.]*.).*PORT=(\d+)/)' > in.txt
sed 's|[()]||g' in.txt > in1.txt
cat sample1.txt | perl -nle 's{HOST=([^)]*).*?PORT=([^)]*)}{print "$1:$2"}ge' > sample2.txt