find src/ -type f -name '*.js' -exec grep -Hn -E -- 'filter\(|map\(' {} + |
awk -F: '{printf "%-100s%-5s%-100s\n", $1, $2, substr($0, length($1) + length($2) + 3)}'
A opção -H
para grep
fará com que ele imprima o nome do arquivo mesmo quando chamado com um único arquivo como argumento. A opção -type f
para localizar é necessária para pular links quebrados e diretórios que por acaso sejam denominados *.js
.
Ou ainda mais simples, livre-se completamente do grep (graças a @don_crissti pela sugestão):
find src/ -type f -name '*.js' -exec awk '/filter\(|map\(/{printf "%-100s%-5s%-100s\n", FILENAME, FNR, $0}' {} +