Algo como:
grep -n 'pattern' path | grep -v ':1:'
De um determinado diretório, estou tentando determinar quais arquivos:
pattern
Eu sei como fazer a parte 1 - grep -nHRF [pattern] [path]
- no entanto, estou procurando filtrar com base naqueles que correspondem ao pattern
, mas não aparecem na linha 1.
Usando sed
com um intervalo de endereços:
sed -n '2,/pattern/p' file
, que será impresso na linha correspondente ao pattern
a partir da segunda linha do arquivo.
grep -nHRF pattern path
mas sem linha 1, com o GNU sed, seria:
shopt -s nullglob globstar
for f in path/**; do
sed -n '1n; /pattern/{F;=;p}' "$f"
done | paste -d: - - -
Você precisa iterar os arquivos, caso contrário, =
exibirá o número de linha cumulativo de todas as linhas de todos os arquivos, e 1n
corresponderia apenas à primeira linha do primeiro arquivo.