#!/usr/bin/env bash # # Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html myname="$(basename $0)" this_year="$(date '+%Y')" some_year="[12][0-9][0-9][0-9]" year_range="(${some_year})(-${some_year})?" copyright_owner="The OpenSSL Project" copyright="Copyright .*${year_range} .*${copyright_owner}" # sed_script: # for all lines that contain ${copyright} : { # replace years yyyy-zzzz (or year yyyy) by yyyy-${this_year} # replace repeated years yyyy-yyyy by yyyy # } sed_script="/${copyright}/{ s/${year_range}/\1-${this_year}/ ; s/(${some_year})-\1/\1/ }" function usage() { cat >&2 <& 2 usage exit 1 ;; *) if [ -f "$arg" ]; then sed -E -i "${sed_script}" "$arg" elif [ -d "$arg" ]; then find "$arg" -name '.[a-z]*' -prune -o -type f -exec sed -E -i "${sed_script}" {} + else echo "$arg: no such file or directory" >&2 fi ;; esac done