GNU/Linux >> Tutoriels Linux >  >> Linux

Comment effacer les caractères imprimés dans une application console (Linux) ?

Je ne pense pas que vous ayez à vous excuser pour le choix de la langue. PHP est un excellent langage pour les applications console.

Essayez ceci :

<?php
for( $i=0;$i<10;$i++){
  print "$i \r";
  sleep(1);
}
?>

Le "\r" écrasera la ligne avec le nouveau texte. Pour créer une nouvelle ligne, vous pouvez simplement utiliser "\n", mais je suppose que vous le saviez déjà.

J'espère que cela t'aides! Je sais que cela fonctionne sous Linux, mais je ne sais pas si cela fonctionne sous Windows ou d'autres systèmes d'exploitation.


Pour effacer un caractère précédemment imprimé, vous avez trois options :

  • echo chr(8) . " "; fait écho au caractère de retour, et déplacera le curseur d'un endroit en arrière, et l'espace écrasera alors le caractère. Vous pouvez utiliser chr(8) plusieurs fois de suite pour reculer de plusieurs caractères.

  • echo "\r"; ramènera le curseur au début de la ligne courante. Vous pouvez maintenant remplacer la ligne par un nouveau texte.

  • La troisième option consiste à définir la ligne et la colonne de la position du curseur à l'aide des codes d'échappement ANSI, puis à imprimer les caractères de remplacement. Cela peut ne pas fonctionner avec tous les terminaux :

  function movecursor($line, $column){
      echo "\033[{$line};{$column}H";
  }

\r a fait l'affaire.

Pour référence future, \b ne fonctionne pas en PHP sous Linux. J'étais curieux - j'ai donc fait quelques expériences dans d'autres langages également (je l'ai fait sous Linux - je ne sais pas si le résultat sera le même sous Windows/Mac).

\b Fonctionne dans...

  • Perl
  • Rubis
  • Tcl - avec le code puts -nonewline "Hello\b"

\b Ne fonctionne pas dans

  • PHP - le code print "Hello\b"; imprime Hello\b
  • Python - code print "Hello\b" imprime Hello<new line> . Même résultat avec print "Hello\b",

Linux
  1. Comment arrêter ou redémarrer Linux à l'aide de la ligne de commande

  2. Comment installer l'application Spotify sur Linux

  3. Comment redémarrer Linux en utilisant la ligne de commande

  4. Effacer la ligne de console imprimée actuelle

  5. Comment taper des caractères spéciaux sous Linux ?

Comment démarrer en ligne de commande Linux

Comment activer l'option "Modifier" dans l'application Shutter sous Linux

Comment verrouiller les sessions de la console virtuelle sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment trouver la ou les lignes les plus longues dans un fichier sous Linux

Comment trouver une adresse IP dans la ligne de commande Linux