Sådan installeres dos2unix på Linux uden rodadgang?
On februar 12, 2021 by 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
Jeg downloadede dos2unix-7.3.3-win32.zip og pakket den ud. Under bin-mappe fra den udpakkede fil fik jeg dos2unix.exe
Hvordan installeres dos2unix i Linux?
Jeg kan ikke t yum install dos2unix
da jeg ikke er & kan ikke få rootadgang.
Svar
Andre svar viser, hvordan du downloader og kompilerer dos2unix
, men hvis du bare ønsker at konvertere filer fra DOS-stil linieendelser (CR-LF) til linieendelser i Unix-stil, der er flere andre tilgange, der ikke skal involvere installation af noget:
-
hvis du har
tr
:tr -d "\r" < input > output
-
hvis du har Perl:
perl -pi -e "s/\r\n/\n/g" input
(som konverterer filen på plads , samme som
dos2unix
) -
hvis du har
sed
:sed -i "s/^M$//" input
hvor du trykker på Ctrl V og derefter Ctrl M for at få
^M
.
Kommentarer
- +1. Jeg har mange filer i min bibliotek. Jeg udfører
find . -type f -exec dos2unix {} \;
I dit eksempel tiltr
ogsed
, hvordan kan jeg opnå for mange filer? - Jeg ville ' ikke bruge
tr
versionen i så fald, men medsed
,find . -type f -exec sed -i 's/^M$//' {} \;
skal fungere. Endnu bedre,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, som behandler så mange filer som muligt hver gang den kørersed
. - Og hvis du behøver ikke ' til at behandle filer i underkataloger,
sed -i 's/^M$//' *
fungerer lige så godt. - I mit input fil Jeg har 2 poster. Begge poster indeholder
^M
tegn. Når jeg kørersed -i 's/^M$//' input > output
, indeholder minoutput
-fil 0 poster. Jeg tror,sed
fjerner posten, der indeholder^M
. I stedet ønsker jeg, at posten bevares, men kun fjerner^M
. - Jeg har lige fundet ud af, at
sed -i 's/\r//' *
fungerer. Lad mig vide, om der er en bedre måde.
Svar
Først og fremmest downloadede du en dos2unix-eksekverbar til windows (dos2unix-7.3.3- win32 .zip), hvilket ikke er hvad du ønsker, fordi du bruger Linux.
Prøv at downloade kildekoden til dos2unix til Linux og udpakke den til dit hjem dir:
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
hvis alt går godt, kan du finde en dos2unix-fil et eller andet sted i din $ HOME / bin -katalog. du kan bruge denne nye installation ved at skrive
$ ~/bin/dos2unix windows_formatted_file.txt
Svar
Du skal download kildekoden og kompilér den.
Her er kildekoden.
For at fortryde den udføres: ( VERSION svarer til den version, du har downloadet)
tar xvf dos2unix-VERSION.tar.gz
Endelig udfør:
make
Hvis kompileringen lykkedes, vises den som en eksekverbar fil, der kaldes dos2unix og unix2dos.
Svar
Download dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Dette installerer dos2unix i $ HOME / bin /.
For yderligere information se INSTALL.txt.
Svar
Du skal downloade den specifikke RPM fra OS-webstedet. For eksempel til CentOS skal du downloade RPM-filen fra http://vault.centos.org/
Skriv et svar