Comment utiliser la commande rev sous Linux

Contenu

Terminal Linux sur un ordinateur portable Ubuntu.

De Linux rev la commande inverse les chaînes de texte. Cette commande peut opérer sur le texte fourni ou sur un fichier, et il semble trompeusement simple. Mais tout comme de nombreux utilitaires de ligne de commande, sa véritable puissance devient apparente lorsque vous la combinez avec d'autres commandes.

Les rev command est l'un de ces utilitaires Linux simples qui, à première vue, semble être une rareté. Remplit une seule fonction: chaînes inversées. Et en même temps pouvoir imprimer une page d'aide rapide (-h) et vous montrer son numéro de version (-V), n'accepte aucun options de ligne de commande.

Ensuite, rev inverser les cordes, et c'est tout? Pas de variantes ni d'options? Bon, Oui et non. Oui, n'a pas de permutation, mais non, Ce n'est pas tout. Ce tutoriel vous montre comment le combiner pour des opérations puissantes.

Lorsque vous utilisez rev comme bloc de construction dans des scripts plus compliqués, commence vraiment à montrer sa valeur. rev fait partie d'un groupe de commandes (Quoi tac Oui yes) qui sont des facilitateurs. Il est plus facile d'apprécier leur utilité lorsque vous voyez comment ils rendent l'utilisation d'autres commandes plus efficace..

Utilisation de la commande rev

Utilisé sur la ligne de commande sans autres paramètres, rev prendre toute entrée écrite, l'inverse puis l'imprime dans la fenêtre du terminal. Continuez ainsi jusqu'à ce que vous appuyiez sur Ctrl + C pour sortir.

tour

Si vous tapez du texte et appuyez sur Entrée, Est-ce que rev imprimer la chaîne à l'envers, à moins que vous ne fournissiez un palindrome, depuis lors.

Passer du texte à rev

Vous pouvez utiliser echo pour diriger le texte vers rev.

écho un deux trois | tour

Vous pouvez aussi utiliser rev pour inverser le contenu d'un fichier texte intégral, ligne par ligne. Dans cet exemple, nous avons un fichier contenant une liste de noms de fichiers. Le fichier est appelé “liste de fichiers.txt”.

rev filelist.txt

Chaque ligne est lue à partir du fichier, est inversé puis imprimé dans la fenêtre du terminal.

Combiner rev avec d'autres commandes

Ensuite, Un exemple est montré en utilisant un pipeline d'entrée qui appelle rev deux fois.

Cette commande supprime le dernier caractère de la chaîne de texte. Cela pourrait être utile pour effacer la ponctuation. Nous devons utiliser le cut commande à dépouiller le personnage.

echo 'Supprimer la ponctuation.' | tour | couper -c 2- | tour

Analysons ça.

  • echo envoyer la chaîne au premier appel à rev.
  • rev inverse la chaîne et la canalise dans cut.
  • Les -c (personnages) option dit cut pour retourner une séquence de caractères de la chaîne.
  • Les 2- option dit cut pour retourner la plage de caractères du caractère deux à la fin de la ligne. Si un deuxième numéro a été fourni, Quoi 2-5, la plage serait de deux à cinq caractères. Pas de deuxième nombre signifie “jusqu’au bout de la chaîne”.
  • La chaîne inversée, moins son premier caractère, ça va à rev qui inverse la chaîne, donc il revient à son ordre d'origine.

Parce que nous avons découpé le premier caractère du investi chaîne, on coupe le dernier caractère du original corde. Oui, pourrais-tu faire ça avec sed O awk, mais c'est une syntaxe plus simple.

Séparer le dernier mot

On peut utiliser une astuce équivalente pour retourner le dernier mot de la ligne.

La commande est équivalente à la précédente: de nouveau, les usages rev deux fois. Les différences résident dans la manière cut La commande est utilisée pour choisir des parties du texte.

echo 'Séparer le dernier mot' | tour | couper -d' ' -f1 | tour

Voici la répartition de la commande:

  • echo envoyer la chaîne au premier appel à rev.
  • rev inverse la chaîne et la canalise dans cut.
  • Les -d' ' (délimiteur) option dit cut pour retourner une séquence de caractères délimitée par un espace.
  • Les -f1 option dit cut pour retourner la première section de la chaîne cela n'a pas le délimiteur. Autrement dit, de la première partie de la phrase au premier espace.
  • Le premier mot inversé est passé à rev qui inverse la chaîne, donc il revient à son ordre d'origine.

Parce que nous avons extrait le premier mot du investi chaîne, nous avons coupé le dernier mot du original corde. Le dernier mot de prière était “mot” et il est imprimé pour nous.

Détourage du contenu du fichier

Disons que nous avons un fichier qui contient une liste de noms de fichiers et les noms de fichiers sont entre guillemets. Nous voulons supprimer les guillemets des noms de fichiers.

Voyons le fichier:

moins filelist.txt

Le contenu du fichier s'affiche pour nous dans less.

On peut effacer la ponctuation des deux extrémités de chaque ligne avec la commande suivante. Cette commande utilise à la fois rev Oui cut deux fois.

rev filelist.txt | couper -c 2- | tour | couper -c 2-

Les noms de fichiers sont répertoriés pour nous sans les guillemets.

La commande se décompose comme ceci:

  • rev inverse les lignes du fichier et les achemine dans cut.
  • Les -c (personnages) option dit cut pour retourner une séquence de caractères de chaque ligne.
  • Les 2- option dit cut pour retourner la plage de caractères du caractère deux à la fin de chaque ligne.
  • Les chaînes inversées, moins ses premiers caractères, ils vont à rev.
  • rev inverser les cordes, donc ils retournent à leur ordre d'origine. Ils sont canalisés dans cut pour la deuxième fois.
  • Les -c (personnages) option dit cut pour retourner une séquence de caractères de chaque chaîne.
  • Les 2- option dit cut pour retourner la plage de caractères du caractère deux à la fin de chaque ligne. Cette “Salta” le guillemet initial, quel est le caractère un sur chaque ligne.

Beaucoup de tuyaux

Voici une commande qui renvoie une liste ordonnée de chaque extension de fichier dans le répertoire courant. Utiliser cinq commandes Linux différentes.

ls | tour | couper -d'.' -f1 | tour | sorte | unique

La procédure est simple:

  • ls liste les fichiers dans le répertoire courant. Ceux-ci sont canalisés dans rev.
  • rev inverse les noms de fichiers et les redirige vers cut.
  • cut renvoie la première partie de chaque nom de fichier jusqu'à un délimiteur. Les -d'.'cut pour utiliser le point “.” comme délimiteur. La partie des noms de fichiers inversés jusqu'à la première période sont les extensions de fichiers. Ceux-ci sont canalisés vers rev.
  • rev inverse les extensions de fichiers dans leur ordre d'origine. Ils sont canalisés dans sort.
  • sort trie les extensions de fichier et redirige les résultats vers uniq.
  • uniq renvoie une liste unique pour chaque type d'extension de fichier unique. Notez que s'il n'y a pas d'extension de fichier (comme pour le makefile et les répertoires Help et gc_help), le nom complet du fichier est affiché.

Pour lui donner une touche finale, ajouter le -c (compter) option de ligne de commande pour uniq commander.

ls | tour | couper -d'.' -f1 | tour | sorte | uniq -c

Maintenant, nous obtenons une liste ordonnée des différents types de fichiers dans le répertoire actuel avec un nombre de chacun.

C'est une phrase intelligente!

DrawroF et ot drawkcaB gnioG

Parfois il faut reculer pour avancer. Et vous avancez régulièrement plus vite en équipe.

Ajouter rev à votre répertoire de commandes d'accès, et vous l'utiliserez bientôt pour simplifier des scripts qui seraient autrement compliqués.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.