[dpdk-dev] [PATCH 01/19] devtools: add simple script to find duplicate includes
Stephen Hemminger
stephen at networkplumber.org
Wed Jul 12 23:59:25 CEST 2017
On Tue, 11 Jul 2017 22:33:55 +0200
Thomas Monjalon <thomas at monjalon.net> wrote:
> Thank you for this script, but... it is written in Perl!
> I don't think it is a good idea to add yet another language to DPDK.
> We already have shell and python scripts.
> And I am not sure a lot of (young) people are able to parse it ;)
>
> I would like to propose this shell script:
>
> dirs='app buildtools drivers examples lib test'
> pattern='^[[:space:]]*#include[[:space:]]*[<"](.*)[>"].*'
>
> for file in $(git ls $dirs) ; do
> dups=$(sed -rn "s,$pattern,\1,p" $file | sort | uniq -d)
> [ -n "$dups" ] || continue
> echo "$file"
> echo "$dups" | sed 's,^,\t,'
> done
There is no "git ls" command in current version,
Using find instead works.
plus shell is 7x slower.
$ time bash -c "find . -name '*.c' | xargs /tmp/dupinc.sh"
real 0m0.765s
user 0m1.220s
sys 0m0.155s
$time bash -c "find . -name '*.c' | xargs ~/bin/dup_inc.pl"
real 0m0.131s
user 0m0.118s
sys 0m0.014s
How about some python code.
More information about the dev
mailing list