Fun in Linux Terminal - Jouez avec le nombre de mots et de personnages

Fun in Linux Terminal - Jouez avec le nombre de mots et de personnages

La ligne de commande Linux a beaucoup de plaisir autour de lui-même et de nombreuses tâches fastidieuses peuvent être effectuées très facilement avec la perfection. Jouer avec les mots et les personnages, leur fréquence dans un fichier texte, etc. est ce que nous allons voir dans cet article.

La seule commande qui nous vient à l'esprit, pour peaufiner la ligne de commande Linux pour manipuler les mots et les caractères d'un fichier texte est la commande wc.

Amusant avec des comptes de mots et de lettres dans Shell

UN 'toilettes'La commande qui signifie Word Count est capable d'imprimer Newline, Word & octet compte à partir d'un fichier texte.

Pour travailler avec les petits scripts pour analyser le fichier texte, nous devons avoir un fichier texte. Pour maintenir l'uniformité, nous créons un fichier texte avec la commande de l'homme, comme décrit ci-dessous.

$ man man> mec.SMS

La commande ci-dessus crée un fichier texte 'homme.SMS«Avec le contenu de»page manuelle' pour 'homme' commande.

Nous voulons vérifier les mots les plus courants, dans le ci-dessus créé 'Fichier texte'En exécutant le script ci-dessous.

$ Cat Man.txt | tr "2 '| tr' [: supérieur:]" [: inférieur:] '| tr -d '[: punct:]' | grep -v '[^ a-z]' | Trier | Uniq -C | Trier -rn | diriger
Échantillon de sortie
7557 262 Le 163 à 112 est 112 A 78 sur 78 Manuel 76 et 64 Si 63

Le script simple de liner ci-dessus montre, dix mots apparaissant les plus fréquemment et leur fréquence d'apparence, dans le fichier texte.

Que diriez-vous de décomposer un mot en individu en utilisant la commande suivante.

$ echo 'Team Tecmint' | pli -w1
Échantillon de sortie
t e c m i n t t e a m

Note: Ici, «-W1» est pour la largeur.

Maintenant, nous allons décomposer chaque mot dans un fichier texte, trier le résultat et obtenir la sortie souhaitée avec la fréquence de dix caractères les plus fréquents.

$ pli -w1 < man.txt | sort | uniq -c | sort -rn | head
Échantillon de sortie
8579 2413 E 1987 A 1875 T 1644 I 1553 N 1522 O 1514 S 1224 R 1021 L

Que diriez-vous d'obtenir les caractères les plus fréquents dans le fichier texte avec majuscules et minuscules différemment de leur fréquence d'occurrence.

$ pli -w1 < man.txt | sort | tr '[:lower:]"[:upper:]' | uniq -c | sort -rn | head -20
Échantillon de sortie
11636 2504 E 2079 A 2005 T 1729 I 1645 N 1632 S 1580 O 1269 R 1055 L 836 H 791 P 766 D 753 C 725 M 690 U 605 F 504 G 352 Y 344 .

Vérifiez la sortie ci-dessus, où la marque de ponctuation est incluse. Permet de supprimer la ponctuation, avec 'tr' commande. Nous y voilà:

$ pli -w1 < man.txt | tr '[:lower:]"[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20
Échantillon de sortie
 11636 2504 E 2079 A 2005 T 1729 I 1645 N 1632 S 1580 O 1550 1269 R 1055 L 836 H 791 P 766 D 753 C 725 M 690 U 605 F 504 G 352 Y

Maintenant, j'ai trois fichiers texte, permet d'exécuter le script de revêtement ci-dessus pour voir la sortie.

$ Cat *.txt | pli -w1 | tr '[: inférieur:] "[: Upper:]' | Sort | tr -d '[: punct:]' | Uniq -C | Sult -rn | Head -8
Échantillon de sortie
 11636 2504 E 2079 A 2005 T 1729 I 1645 N 1632 S 1580 O

Ensuite, nous générerons ces lettres peu fréquentes qui durent au moins dix lettres. Voici le script simple.

$ Cat Man.txt | tr "2 '| tr' [: supérieur:]" [: inférieur:] '| tr -d '[: punct:]' | tr -d '[0-9]' | Trier | Uniq -C | Trier -n | grep -e '…' | diriger
Échantillon de sortie
1 ui Tous les arguments à l'intérieur sont facultatifs 1 ABSE Voir setLocale pour les détails précis 1 Options AB délimitées par ne peut pas être utilisée ensemble 1 réalisée en utilisant la variable d'environnement moins d'environnement 1 Un processus enfant a renvoyé un statut de sortie non zéro 1 agir comme si cette option avait été fournie en utilisant le nom comme nom un nom de fichier 1 activer le format de mode local et afficher les fichiers manuels locaux 1 accent aigu

Note: Plus les points dans le script ci-dessus sont de plus en plus jusqu'à ce que tous les résultats soient générés. On peut utiliser .10 pour obtenir dix correspondances de caractères.

Ces scripts simples nous font également connaître les mots et les personnages d'apparence les plus fréquents en anglais.

C'est tout pour le moment. Je reviendrai ici avec un autre sujet intéressant et hors du rythme, ce que vous adorerez lire. N'oubliez pas de nous fournir vos précieuses commentaires dans la section des commentaires, ci-dessous.

Lire aussi: 20 commandes drôles de Linux