GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso cancellare i caratteri stampati in un'applicazione console (Linux)?

Non credo che tu debba scusarti per la scelta della lingua. PHP è un ottimo linguaggio per le applicazioni console.

Prova questo:

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

Il "\r" sovrascriverà la riga con il nuovo testo. Per creare una nuova riga puoi semplicemente usare "\n", ma immagino che tu lo sapessi già.

Spero che sia di aiuto! So che funziona su Linux, ma non so se funziona su Windows o altri sistemi operativi.


Per cancellare un carattere precedentemente stampato hai tre opzioni:

  • echo chr(8) . " "; fa eco al carattere indietro e sposta il cursore indietro di una posizione, quindi lo spazio sovrascrive il carattere. Puoi usare chr(8) più volte di seguito per tornare indietro di più caratteri.

  • echo "\r"; riporterà il cursore all'inizio della riga corrente. Ora puoi sostituire la riga con un nuovo testo.

  • La terza opzione consiste nell'impostare la riga e la colonna della posizione del cursore utilizzando i codici di escape ANSI, quindi stampare i caratteri sostitutivi. Potrebbe non funzionare con tutti i terminali:

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

\r ha funzionato.

Per riferimento futuro, \b non funziona in PHP in Linux. Ero curioso, quindi ho fatto un paio di esperimenti anche in altri linguaggi (l'ho fatto in Linux - non so se il risultato sarà lo stesso in Windows/Mac)..

\b Funziona con...

  • Perl
  • Rubino
  • Tcl - con codice puts -nonewline "Hello\b"

\b Non funziona in

  • PHP - il codice print "Hello\b"; stampa Hello\b
  • Python - codice print "Hello\b" stampa Hello<new line> . Stesso risultato con print "Hello\b",

Linux
  1. Come cancellare la cronologia della riga di comando BASH in Linux

  2. Come riavviare Linux utilizzando la riga di comando

  3. Cancella l'attuale riga della console stampata

  4. Come stampare i nomi dei gruppi Linux su più righe anziché su un'unica riga

  5. Come cambiare la mappa dei tasti della console in Linux?

Come avviare la riga di comando di Linux

Come abilitare l'opzione "Modifica" nell'applicazione Shutter in Linux

Come bloccare le sessioni della console virtuale su Linux

Come rimuovere (^M) caratteri da un file in Linux

Come trovare le righe più lunghe in un file in Linux

Come trovare l'indirizzo IP nella riga di comando di Linux