Oct 122013
 

A volte un programma o software non si avvia per un errore di sintassi, e se si controlla il file non c’è nulla di strano .. a prima vista.
Ci sono un sacco di caratteri che di solito non vengono stampati se si utilizza un editor di testo normale, ma si può facilmente controllare se sono presenti con il vostro terminale e il comando cat .

Come prima cosa creiamo un semplice file di testo con questi caratteri speciali, aprite un terminale ed eseguite il comando:

printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt

Ora, se si apre questo file con un editor avrete risultati diversi.
Un semplice cat mostrerà:

$ cat /tmp/testing.txt 
testing
		testing
 
more testing
 
        even more testing



Mentre se lo aprite con nano o vim vedrete :

testing
                testing^L^H
more testing
        ^@^K^@even more testing

Vediamo ora alcune opzioni di catper stampare i caratteri speciali.

1) Usate cat -T per mostrare i caratteri TAB come ^I

cat -T /tmp/testing.txt
testing
^I^Itesting
 
more testing
^I
  even more testing
^I^I^I

2) Usate cat -E per mostrare il carattere $ alla fine di ogni linea

$ cat -E /tmp/testing.txt
testing$
		testing
                      $
more testing$
 
        even more testing$
			$

3) Oppure usate un semplice cat -A per mostrare tutti i caratteri nascosti:

$ cat -A /tmp/testing.txt
testing$
^I^Itesting^L^H$
more testing$
^I^@^K^@even more testing$
^I^I^I$

Riferimenti:

Articolo Originale : http://linuxwiki.net/2013/07/30/cat-ile-gorunmeyen-karakterleri-gormek/

Popular Posts:

Flattr this!

  One Response to “Linux Terminal: Vedere i caratteri invisibili con cat!”

  1. You can also use sed to output hidden characters from the terminal.

    Example
    sed -n ‘l’ file.txt
    clear | sed -n ‘l’

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*