Home Page

Tips page
c
cellulari
debian
egittologia
emacs
emacs-latex
hardware
html
inglese
java
latex
linux

*Alcuni comandi utili utilizzando find
*ARP e MAC address
*Ascoltare un CD audio
*Attivare il NumLock (BlocNum)
*Attivare i tasti i tasti Magic SysRq
*AWK, use an environment variable inside a script
*Bash e Argument list too long
*BogoMIPS
*Cancellare file e non recuperare spazio
*Capacita` dell'hard disk
*Come cambiare i font delle applicazioni con librerie GTK
*Come cambiare l'hostname
*Come tentare di recuperare file, filesystem e partizioni
*Compilare in parallelo
*Condividere una partizione
*Configure proxy for shells
*Continuous disk access
*Controllare la salute di hard disk e filesystem
*Convertire ext2 in ext3 (e viceversa)
*Convertire un file di testo dalla codifica DOS a quella UNIX
*Cosa fare quando si perde la password di root
*Cosa significa l'errore ``TCP
*Creare un boot floppy
*Creare un file temporaneo
*Deframmentazione di un filesystem
*Delete last chars from a string
*Determinare lo spazio libero sul disco
*Eliminare il beep
*Emettere un beep da script
*Enable PPP connection on boot
*Exclude a directory with rsync
*Execute telnet from a script
*Gestione dei file di log
*Gestione dei file .iso
*Gestione della data/ora
*Gestione di utenti e gruppi
*Hash md5 di una stringa
*Identificare la distribuzione installata
*I file ps e pdf
*Il file /etc/fstab
*Il file /etc/issue[.net] e /etc/motd
*Il filesystem SysFs
*I link soft ed hard
*Il path delle applicazioni
*Il sistema tutto in maiuscolo
*I moduli del kernel
*Impostare piu` IP per una scheda di rete
*Introduzione a LVM
*Inviare messaggi agli altri utenti
*I permessi della directory root, /
*La gerarchia del filesystem di Linux
*La memoria Ram sotto Linux
*La memoria swap
*Limitare la possibilita` di diventare root
*Limitazioni alla dimensione del file
*Log dei login utente
*Modificare il comportamento di ctrl+alt+canc
*Modificare le variabili della parent shell
*Montare o rimontare un filesystem come read-only
*More columns in a shell output
*Negare il login durante la manutenzione del sistema
*NoHUP
*Obtain the exact process start time
*Ottenere uno snapshot dello schermo
*Partizionamento di un sistema Linux
*Perche' si usa ./ per avviare alcuni eseguibili
*Permanent PPP connection
*PID of a process
*Programmare l'esecuzione dei programmi
*Quale processo utilizza un certo file o porta
*Quali vantaggi si hanno dalla ricompilazione
*Remove from find results
*Ricreare velocemente /tmp al boot
*Ridirezione dell'output
*Rimappare la tastiera
*Ripristinare i caratteri sballati in console
*Riscrivere l'MBR
*Salvarsi da un ``rm'' di troppo...
*Save MBR
*Scrivere in modo sincrono su filesystem
*Scrivere nel log di sistema di Linux
*Separazione dei comandi nella shell
*Separazione delle parole nella shell
*Share the internet connection
*Shell configuration files
*Single quote character escape with sed
*Spostare una directory in un'altra partizione
*Stimare il carico di lavoro della macchina
*Undelete di un file
*Usare le pendrive USB sotto Linux
*Usare partizioni primarie o estese
*Use md5sum to verify saved files
*Use ssh and scp without password
*Utilizzare hdparm per controllare gli hard disk
*Verificare un file video
*What is a zombie process
*What is the file System.map?
*What is the shebang? (Shell scripts)
*What shared libraries a program uses
*Yesterday date

matlab
misc
mysql
network
octave
programming
python
security
sed
tech
webapps
windows

University Page

Programming

Debian & Linux

Some works

About me

Del.icio.us Bookmarks

BOINC Combined Statistics

Site Statistics

Contact me sending an e-mail (antispam defense activated)

debian

hacker emblem

blogger

GeoURL

View Sandro Tosi's profile on LinkedIn

This is my Google PageRank

Title: Convertire un file di testo dalla codifica DOS a quella UNIX
Author: Sandro Tosi
Last modified: 2007-05-26 (2005-01-05 2004-06-14)

I sistemi DOS/Windows utilizzano due caratteri per definire al fine di
una riga: il Line Feed (LF)  ed il Carriage Return (CR), ed infatti il
fine riga  si indica con LF/CR.  Invece, Unix utilizza solo  il LF per
definire il  termine della riga.  Questa disparita` genera  spesso dei
problemi,  come la  presenza dei  famosi  ``^M'' dei  file editati  da
Windows e poi aperti su un sistema Linux, oppure l'ammassarsi di tutte
le linee su una sola quando  un file creato sotto Unix viene aperto da
un editor poco evoluto sotto Windows

Per verificare che un file contenga effettivamente questi caratteri si
puo` utilizzare sia vi che cat:

# cat -vte $file_name

(che  stampa   a  video   anche  la  rappresentazione   dei  caratteri
non-printable) oppure

# vi -b $file_name

che edita il  file in formato binario, che consente  di vedere anche i
caratteri normalmente non visibili.

Per  eliminare quei  ``^M'' e`  possibile  usare il  comando `tr'  che
elimina o traduce dei caratteri da una stringa o da un file; l'opzione
`-d' consente  di eliminare  un carattere, ed  il codice  del Carriage
Return e` 015: dunque, per eliminare il CR dai file si deve eseguire

# tr -d '\015' < file_dos.txt > file_unix.txt

oppure

# tr -d '\r' < file_dos.txt > file_unix.txt   (<<-- meno sicuro)

Esistono inoltre i programmi `dos2unix' e `tofromdos', che eseguono lo
stesso compito; inoltre anche sed consente di eliminare i ``^M'':

# sed 's/^M//' $file_to_convert > $output_file

in realta` sarebbe piu` corretto utilizzare questa forma:

# sed 's/^M$//' $file_to_convert > $output_file

in quanto identifica solo i ``^M'' a fine riga. Per ottenere il ``^M''
a riga di comando si deve usare la sequenza di escape Ctrl+V Ctrl+M.

Anche vi/vim consentono di rimuovere il ritorno a capo di windows:

- editare il file con vi/vim
- in modalita` comando, inserire:
  :%s/^M/ /g
  dove il carattere ^M si ottiene con Ctrl+V + Ctrl+M

Per fare il passaggio inverso, si puo` aprire il file con `Word' o con
`wordpad', editor  piu` evoluti  di `notepad', in  grado di  capire la
diversa codifica e di apportarvi ``rimedio''.