Rechercher des fichiers contenant une chaîne mais PAS sur la bonne ligne


0

A partir d'un répertoire donné, je cherche à déterminer quels fichiers:

  1. contenir pattern
  2. mais PAS sur la ligne 1

Je sais comment faire la partie 1 - grep -nHRF [pattern] [path]mais je cherche à filtrer en fonction de celles qui correspondent à la pattern, mais n'apparaissent pas à la ligne 1.

Réponses:


1

Quelque chose comme:

grep -n 'pattern' path | grep -v ':1:'

0

Utilisation sedavec une plage d'adresses:

sed -n '2,/pattern/p' file

qui s’imprimera en ligne, en patternpartant de la 2e ligne du fichier.


0

grep -nHRF pattern path mais sans la ligne 1, avec GNU sed, serait:

shopt -s nullglob globstar
for f in path/**; do
    sed -n '1n; /pattern/{F;=;p}' "$f"
done | paste -d: - - -

Vous devez effectuer une itération sur les fichiers, sinon =le nombre de lignes cumulées sera affiché à partir de toutes les lignes de tous les fichiers et 1nne correspondra que pour la première ligne du premier fichier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.