%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # # Script created by: Stephen R. van den Berg <srb@cuci.nl>, 1999/04/18 # Donated to the public domain. # # This script transforms the output of "ip" into more readable text. # "ip" is the Linux-advanced-routing configuration tool part of the # iproute package. # test "X-h" = "X$1" && echo "Usage: $0 [tablenr [raw ip args...]]" && exit 64 test -z "$*" && set 0 ip route list table "$@" | while read network rest do set xx $rest shift proto="" via="" dev="" scope="" src="" table="" case $network in broadcast|local|unreachable) via=$network network=$1 shift ;; esac while test $# != 0 do case "$1" in proto|via|dev|scope|src|table) key=$1 val=$2 eval "$key='$val'" shift 2 ;; dead|onlink|pervasive|offload|notify|linkdown|unresolved) shift ;; *) # avoid infinite loop on unknown keyword without value at line end shift shift ;; esac done echo "$network $via $src $proto $scope $dev $table" done | awk -F ' ' ' BEGIN { format="%15s%-3s %15s %15s %8s %8s%7s %s\n"; printf(format,"target","","gateway","source","proto","scope","dev","tbl"); } { network=$1; mask=""; if(match(network,"/")) { mask=" "substr(network,RSTART+1); network=substr(network,0,RSTART); } via=$2; src=$3; proto=$4; scope=$5; dev=$6; table=$7; printf(format,network,mask,via,src,proto,scope,dev,table); } '