File: diff-remove-fields

package info (click to toggle)
bro 2.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 78,640 kB
  • sloc: ansic: 126,302; cpp: 95,205; yacc: 2,528; lex: 1,819; sh: 793; python: 700; makefile: 134
file content (32 lines) | stat: -rwxr-xr-x 487 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#! /usr/bin/env bash
#
# A diff canonifier that removes all fields starting with a given
# prefix.

if [ $# != 1 ]; then
    echo "usage: `basename $0` <field prefix>"
    exit 1
fi

awk -v "PREFIX=$1" '

BEGIN { FS="\t"; OFS="\t"; }

/^#fields/ {
    for ( i = 2; i <= NF; ++i )
        {
        if ( index($i, PREFIX) == 1 )
            rem[i-1] = 1;
        }
}

/^[^#]/ {
    for ( i in rem )
        # Mark that it is set, but ignore content.
        $i = "+";
}

{
    print;
}
'