Hoe dos2unix op Linux te installeren zonder root-toegang?
Geplaatst op februari 12, 2021 door 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
Ik heb dos2unix-7.3.3-win32.zip gedownload en uitgepakt. Onder de bin-map van het uitgepakte bestand, heb ik dos2unix.exe
Hoe dos2unix in Linux te installeren?
Ik kan “niet doen yum install dos2unix
aangezien ik niet & kan “geen root-toegang krijgen.
Antwoord
Andere antwoorden laten zien hoe je dos2unix
kunt downloaden en compileren, maar als je gewoon bestanden wilt converteren van DOS-stijl lijnuitgangen (CR-LF) naar Unix-stijl lijnuitgangen, er zijn verschillende andere benaderingen waarbij u niets hoeft te installeren:
-
als u
tr
hebt:tr -d "\r" < input > output
-
als je Perl hebt:
perl -pi -e "s/\r\n/\n/g" input
(die het bestand ter plekke converteert , hetzelfde als
dos2unix
) -
als je
sed
:sed -i "s/^M$//" input
waar u “d drukt op Ctrl V en vervolgens op Ctrl M om
^M
te krijgen.
Reacties
- +1. Ik heb veel bestanden in mijn directory. Ik voer
find . -type f -exec dos2unix {} \;
uit in uw voorbeeld voortr
ensed
, hoe kan ik bereiken voor veel bestanden? - Ik zou in dat geval niet ' de
tr
-versie gebruiken, maar metsed
,find . -type f -exec sed -i 's/^M$//' {} \;
zou moeten werken. Sterker nog,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, dat zoveel mogelijk bestanden zal verwerken elke keer datsed
wordt uitgevoerd. - En als je hoeft niet ' bestanden in submappen te verwerken,
sed -i 's/^M$//' *
zou net zo goed werken. - In mijn invoer bestand Ik heb 2 records. Beide records bevatten
^M
karakter. Als iksed -i 's/^M$//' input > output
draai, bevat mijnoutput
bestand 0 records. Ik denk datsed
het record verwijdert dat^M
bevat. In plaats daarvan wil ik dat het record behouden blijft, maar verwijder alleen^M
. - Ik heb net ontdekt dat
sed -i 's/\r//' *
werkt. Laat me weten of er een betere manier is.
Antwoord
Allereerst heb je een dos2unix-uitvoerbaar bestand gedownload voor windows (dos2unix-7.3.3- win32 .zip), dat is niet wat je willen omdat je Linux gebruikt.
Probeer de broncode voor dos2unix voor Linux te downloaden en pak het uit in je thuismap:
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
als alles goed gaat, kun je ergens in je $ HOME / bin directory een dos2unix-bestand vinden. je kunt deze nieuwe installatie gebruiken door
$ ~/bin/dos2unix windows_formatted_file.txt
Answer
te typen download de broncode en compileer deze.
Hier is de broncode.
Om het uit te pakken, voer je uit: ( VERSION is gelijk aan de versie die u heeft gedownload)
tar xvf dos2unix-VERSION.tar.gz
Eindelijk uitvoeren:
make
Als de compilatie is gelukt, verschijnt er een uitvoerbaar bestand met de naam dos2unix en unix2dos.
Antwoord
Download dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Dit zal dos2unix installeren in $ HOME / bin /.
Zie INSTALL.txt voor meer informatie.
Answer
Je moet de specifieke RPM downloaden van de OS-website. Download voor CentOS bijvoorbeeld het RPM-bestand van http://vault.centos.org/
Geef een reactie