Come installare dos2unix su Linux senza accesso root?
Su Febbraio 12, 2021 da admin $uname -a
Linux vm-** 2.6.32-573.8.1.el6.x86_64 #1 SMP Fri Sep 25 19:24:22 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
Ho scaricato dos2unix-7.3.3-win32.zip e lho decompresso. Nella cartella bin dal file decompresso, ho ottenuto dos2unix.exe
Come installare dos2unix in Linux?
Non posso “fare yum install dos2unix
poiché non sono & non posso “ottenere laccesso come root.
Rispondi
Altre risposte mostrano come scaricare e compilare dos2unix
, ma se stai semplicemente cercando di convertire file da terminazioni di riga in stile DOS (CR-LF) a terminazioni di riga in stile Unix, ci sono molti altri approcci che non dovrebbero comportare linstallazione di nulla:
-
se hai
tr
:tr -d "\r" < input > output
-
se hai Perl:
perl -pi -e "s/\r\n/\n/g" input
(che converte il file sul posto , come
dos2unix
) -
se hai
sed
:sed -i "s/^M$//" input
dove “d premere Ctrl V quindi Ctrl M per ottenere
^M
.
Commenti
- +1. Ho molti file nella mia directory. Sto eseguendo
find . -type f -exec dos2unix {} \;
Nel tuo esempio pertr
esed
, come posso ottenere per molti file? - Non vorrei ' utilizzare la versione
tr
in questo caso, ma consed
,find . -type f -exec sed -i 's/^M$//' {} \;
dovrebbe funzionare. Meglio ancora,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, che elaborerà il maggior numero di file possibile ogni volta che viene eseguitosed
. - E se non ' non è necessario elaborare i file nelle sottodirectory,
sed -i 's/^M$//' *
funzionerebbe altrettanto bene. - Nel mio input file Ho 2 record. Entrambi i record contengono il carattere
^M
. Quando eseguosed -i 's/^M$//' input > output
, il mio fileoutput
contiene 0 record. Penso chesed
stia rimuovendo il record che contiene^M
. Voglio invece che il record venga conservato, ma rimuovi solo^M
. - Ho appena scoperto che
sed -i 's/\r//' *
funziona. Fammi sapere se esiste un modo migliore.
Rispondi
Prima di tutto, hai scaricato un eseguibile dos2unix per Windows (dos2unix-7.3.3- win32 .zip), che non è quello che tu vuoi perché stai usando Linux.
Prova a scaricare il codice sorgente per dos2unix per Linux ed estrailo nella tua directory home:
mkdir $HOME/bin/ tar -zxvf dos2unix-7.3.3-src.tar.gz # the exact name of the downloaded file may vary cd dos2unix-7.3.3 ./configure --prefix=$HOME/bin/ make make install
se tutto va bene sarai in grado di trovare un file dos2unix da qualche parte nella tua directory $ HOME / bin . puoi utilizzare questa nuova installazione digitando
$ ~/bin/dos2unix windows_formatted_file.txt
Risposta
Devi scarica il codice sorgente e compilarlo.
Ecco il codice sorgente.
Per decomprimerlo, eseguire: ( VERSION è uguale alla versione che hai scaricato)
tar xvf dos2unix-VERSION.tar.gz
Esegui infine:
make
Se la compilazione è riuscita, apparirà un eseguibile chiamato dos2unix e unix2dos.
Risposta
Scarica dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Questo installerà dos2unix in $ HOME / bin /.
Per ulteriori informazioni vedere INSTALL.txt.
Risposta
È necessario scaricare lRPM specifico dal sito Web del sistema operativo. Ad esempio, per CentOS, scarica il file RPM da http://vault.centos.org/
Lascia un commento