我的 iptables 规则包含一些长条目,feLOG
目标,当我尝试使用命令监视它时,这会导致输出不太好watch
。
由于我是在笔记本电脑上进行测试,因此屏幕不是那么宽。所以我想,是否可以从显示中排除最后一列?这是我的规则的一些示例:
$IT -A tcpLog -p tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m
$IT -A tcpLog -p tcp --tcp-flags FIN,ACK FIN -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m
$IT -A tcpLog -p tcp --tcp-flags ACK,PSH PSH -j LOG --log-prefix "[BAD TCP]" --log-level warning -m limit --limit 10/m
那么我如何排除在这种情况下显示的最后一列、日志前缀和相关信息?
另外,我会监控它,watch -n 1 iptables -L -nv
谢谢
答案1
以下是如何排除输出的最后一列:
my_command | awk '{ $NF="" } 1'
就我个人而言,我更愿意使用以下命令之一将输出截断为特定宽度:
my_command | pr -t -W "$COLUMNS"
my_command | cut -c "-$COLUMNS"
这是当选项打开 ( )时根据终端宽度COLUMNS
设置的变量。当然,您可以使用您选择的任意数量。bash
checkwinsize
shopt -s checkwinsize