Obtenir les sous-chaînes les plus courantes du fichier

1

J'ai un fichier qui contient des chaînes au format suivant: /path1/path2/path3

Je voudrais montrer le N Le plus commun path2 sous-chaînes via la ligne de commande unix.

Pourriez-vous me donner quelques indications?

One Hott
la source

Réponses:

0
cat <your_file> | cut -d "/" -f 3 | sort | uniq -c | sort -rg | head -n <N> | awk '{print $2}'

Avec:

  • cut -d "/" -f 3: extraire les chaînes "path2"
  • sort | uniq -c | sort -rg: compter les occurrences de chaque chaîne "path2" et les trier
  • head -n <N> | awk '{print $2}': imprimer en premier N
Gohu
la source