使用 grep 循环并添加到文件

使用 grep 循环并添加到文件

我正在尝试循环 netstat 并按某些值 grep 结果,然后如果它们匹配,则将它们添加到文件中,但它不会执行 grep,而只是添加整个文件:

#!/bin/bash
while true
do
  sudo netstat -ano -p | grep x | grep y >> netstat.txt
  sleep 0.05
done

我究竟做错了什么?谢谢。

答案1

function append {
while read -r line ; do
echo "$line" >> netstat.txt
sleep 10
append
done <<< $myvar
 }

myvar=$(sudo netstat -ano -p | grep x | grep y)
append

上面将返回这样的结果:

tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220/skypeforlinux keepalive (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220 /skypeforlinux 保持活动 (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220/skypeforlinux keepalive (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220 /skypeforlinux 保持活动 (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220/skypeforlinux keepalive (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220 /skypeforlinux 保持活动 (26.46/0/0) tcp 0 0 192.168.1.21:40982 13.83.65.43:443 已建立 4220/skypeforlinux 保持活动 (26.46/0/0)

相关内容