Hur installerar jag dos2unix på Linux utan root-åtkomst?
On februari 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
Jag laddade ner dos2unix-7.3.3-win32.zip och packade upp den. Under bin-mappen från den uppackade filen fick jag dos2unix.exe
Hur installerar jag dos2unix i Linux?
Jag kan inte göra yum install dos2unix
eftersom jag inte & inte kan få root-åtkomst.
Svar
Andra svar visar hur du laddar ner och kompilerar dos2unix
, men om du bara vill konvertera filer från radändningar i DOS-stil (CR-LF) till radändningar i Unix-stil, det finns flera andra tillvägagångssätt som inte borde innebära installation av något:
-
om du har
tr
:tr -d "\r" < input > output
-
om du har Perl:
perl -pi -e "s/\r\n/\n/g" input
(som konverterar filen på plats , samma som
dos2unix
) -
om du har
sed
:sed -i "s/^M$//" input
där du trycker på Ctrl V och sedan Ctrl M för att få
^M
.
Kommentarer
- +1. Jag har många filer i min katalog. Jag kör
find . -type f -exec dos2unix {} \;
I ditt exempel förtr
ochsed
, hur kan jag uppnå för många filer? - Jag skulle inte ' t använda
tr
versionen i så fall, men medsed
,find . -type f -exec sed -i 's/^M$//' {} \;
ska fungera. Ännu bättre,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, som kommer att behandla så många filer som möjligt varje gång det körssed
. - Och om du behöver inte ' att bearbeta filer i underkataloger,
sed -i 's/^M$//' *
skulle fungera lika bra. - I min ingång fil Jag har två poster. Båda posterna innehåller
^M
karaktär. När jag körsed -i 's/^M$//' input > output
innehåller minoutput
-fil 0 poster. Jag tror attsed
tar bort posten som innehåller^M
. Istället vill jag att posten ska behållas, men bara ta bort^M
. - Jag fick just reda på att
sed -i 's/\r//' *
fungerar. Låt mig veta om det finns ett bättre sätt.
Svar
Först och främst laddade du ner en körbar dos2unix för windows (dos2unix-7.3.3- win32 .zip), vilket inte är vad du vill eftersom du använder Linux.
Testa att ladda ner källkoden för dos2unix för Linux och extrahera den till din hemdir:
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
om allt går bra kommer du att kunna hitta en dos2unix-fil någonstans i din $ HOME / bin -katalog. du kan använda den här nya installationen genom att skriva
$ ~/bin/dos2unix windows_formatted_file.txt
Svar
Du måste ladda ner källkoden och kompilera den.
Här är källkoden.
För att avklara den, utför den: ( VERSION är lika med den version du har laddat ner)
tar xvf dos2unix-VERSION.tar.gz
Slutför kör:
make
Om kompileringen lyckades kommer det att visas en körbar som heter dos2unix och unix2dos.
Svar
Ladda ner dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Detta installerar dos2unix i $ HOME / bin /.
Mer information finns i INSTALL.txt.
Svar
Du måste ladda ner den specifika RPM från OS-webbplatsen. Till exempel, för CentOS, ladda ner RPM-filen från http://vault.centos.org/
Lämna ett svar