Jak nainstalovat dos2unix na Linux bez přístupu root?
On 12 února, 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
Stáhl jsem si dos2unix-7.3.3-win32.zip a rozbalil jej. Ve složce bin z rozbaleného souboru jsem dostal dos2unix.exe
Jak nainstalovat dos2unix v systému Linux?
Nemohu „udělat yum install dos2unix
protože nejsem & nemohu získat přístup root.
Odpovědět
Další odpovědi ukazují, jak stahovat a kompilovat dos2unix
, ale pokud jednoduše hledáte převést soubory z koncovek řádků ve stylu DOS (CR-LF) na zakončení řádků ve stylu Unix, existuje několik dalších přístupů, které by neměly zahrnovat instalaci čehokoli:
-
pokud máte
tr
:tr -d "\r" < input > output
-
pokud máte Perl:
perl -pi -e "s/\r\n/\n/g" input
(který převádí soubor na místě , stejné jako
dos2unix
) -
pokud máte
sed
:sed -i "s/^M$//" input
kde můžete stisknout Ctrl V a poté Ctrl M získat
^M
.
Komentáře
- +1. V adresáři mám mnoho souborů. Provádím
find . -type f -exec dos2unix {} \;
Ve vašem příkladu protr
ased
, jak toho mohu dosáhnout pro mnoho souborů? - V takovém případě bych ' nepoužíval verzi
tr
, ale ssed
,find . -type f -exec sed -i 's/^M$//' {} \;
by měl fungovat. Ještě lepší jefind . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, který při každém spuštěnísed
zpracuje co nejvíce souborů. - A pokud nepotřebujete ' zpracovávat soubory v podadresářích,
sed -i 's/^M$//' *
by fungoval stejně dobře. - Podle mého zadání soubor Mám 2 záznamy. Oba záznamy obsahují
^M
znak. Když spustímsed -i 's/^M$//' input > output
, můjoutput
soubor obsahuje 0 záznamů. Myslím, žesed
odebírá záznam, který obsahuje^M
. Místo toho chci, aby byl záznam zachován, ale pouze odstraňte^M
. - Právě jsem zjistil, že
sed -i 's/\r//' *
funguje. Dejte mi vědět, jestli existuje lepší způsob.
Odpověď
Nejprve jste si stáhli spustitelný soubor dos2unix pro Windows (dos2unix-7.3.3- win32 .zip), což není to, co vy chcete, protože používáte Linux.
Zkuste stáhnout zdrojový kód pro dos2unix pro Linux a extrahujte jej do svého domovského adresáře:
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
pokud vše půjde dobře, budete moci najít soubor dos2unix někde v adresáři $ HOME / bin . tuto novou instalaci můžete použít zadáním
$ ~/bin/dos2unix windows_formatted_file.txt
odpovědi
Musíte stáhněte si zdrojový kód a zkompilujte ho.
Zde je zdrojový kód.
Chcete-li jej uvolnit, proveďte: VERSION se rovná verzi, kterou jste stáhli)
tar xvf dos2unix-VERSION.tar.gz
Konečně spustit:
make
Pokud byla kompilace úspěšná, zobrazí se spustitelný soubor s názvem dos2unix a unix2dos.
Odpovědět
Stáhnout dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Tím se nainstaluje dos2unix do $ HOME / bin /.
Další informace naleznete v souboru INSTALL.txt.
Odpověď
Je třeba stáhnout konkrétní RPM z webu OS. Například pro CentOS stáhněte soubor RPM z http://vault.centos.org/
Napsat komentář