mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

On Alpine (BusyBox `sed`), the previous `sed -e '$a\'` invocation always added a newline, breaking most every diff. There doesn't seem to be a need to attempt normalizing EOF newlines at the moment and doing it that way doesn't seem to be portable anyway. If canonifiers need to be portable, `sed` should be treated as a text-processing tool and POSIX definition of text-file is zero or more newline-terminated character-sequences, so if canonification of Baselines via `sed` is required, those Baselines should always end with a newline to be considered text files. I.e. that's not the job of this canonifier, and changing it also doesn't necessarily generalize since it could be considered coincidental that diff-remove-timestamps in particular is the default canonifier that's commonly used while there's still others that also make use of `sed`.
12 lines
381 B
Bash
Executable file
12 lines
381 B
Bash
Executable file
#! /usr/bin/env bash
|
|
#
|
|
# Replace anything which looks like timestamps with XXXs (including the #start/end markers in logs).
|
|
|
|
# Get us "modern" regexps with sed.
|
|
if [ `uname` == "Linux" ]; then
|
|
sed="sed -r"
|
|
else
|
|
sed="sed -E"
|
|
fi
|
|
|
|
$sed -e 's/(^|[^0-9])([0-9]{9,10}\.[0-9]{1,8})/\1XXXXXXXXXX.XXXXXX/g' -e 's/^ *#(open|close).(19|20)..-..-..-..-..-..$/#\1 XXXX-XX-XX-XX-XX-XX/g'
|