Como instalar o dos2unix no Linux sem acesso root?
On Fevereiro 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
Eu baixei dos2unix-7.3.3-win32.zip e descompactei. Na pasta bin do arquivo descompactado, obtive dos2unix.exe
Como instalar o dos2unix no Linux?
Não consigo fazer yum install dos2unix
porque não & não consigo “obter acesso root.
Resposta
Outras respostas mostram como baixar e compilar dos2unix
, mas se você “está simplesmente procurando converter arquivos de terminações de linha no estilo DOS (CR-LF) para terminações de linha no estilo Unix, existem várias outras abordagens que não devem envolver a instalação de nada:
-
se você tiver
tr
:tr -d "\r" < input > output
-
se você tiver Perl:
perl -pi -e "s/\r\n/\n/g" input
(que converte o arquivo no local , o mesmo que
dos2unix
) -
se você tiver
sed
:sed -i "s/^M$//" input
onde você “d pressiona Ctrl V e depois Ctrl M para obter
^M
.
Comentários
- +1. Tenho muitos arquivos em meu diretório. Estou executando
find . -type f -exec dos2unix {} \;
Em seu exemplo paratr
esed
, como posso conseguir para muitos arquivos? - Eu não ' usaria a versão
tr
nesse caso, mas comsed
,find . -type f -exec sed -i 's/^M$//' {} \;
deve funcionar. Melhor ainda,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, que irá processar tantos arquivos quanto possível cada vez que for executadosed
. - E se você não ' não precisa processar arquivos em subdiretórios,
sed -i 's/^M$//' *
funcionaria da mesma forma. - Na minha entrada arquivo Eu tenho 2 registros. Ambos os registros contêm
^M
caractere. Quando executosed -i 's/^M$//' input > output
, meu arquivooutput
contém 0 registros. Acho quesed
está removendo o registro que contém^M
. Em vez disso, quero que o registro seja retido, mas apenas remova^M
. - Acabei de descobrir que
sed -i 's/\r//' *
funciona. Deixe-me saber se existe uma maneira melhor.
Resposta
Primeiro de tudo, você baixou um executável dos2unix para Windows (dos2unix-7.3.3- win32 .zip), que não é o que você deseja porque você está usando Linux.
Tente baixar o código-fonte do dos2unix para Linux e extraia-o em seu diretório inicial:
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 tudo correr bem, você poderá encontrar um arquivo dos2unix em algum lugar do diretório $ HOME / bin . você pode usar esta nova instalação digitando
$ ~/bin/dos2unix windows_formatted_file.txt
Resposta
Você deve baixe o código-fonte e compile-o.
Aqui está o código-fonte.
Para descompactá-lo, execute: ( VERSÃO é igual à versão que você baixou)
tar xvf dos2unix-VERSION.tar.gz
Execute finalmente:
make
Se a compilação for bem-sucedida, aparecerá um executável chamado dos2unix e unix2dos.
Resposta
Baixe dos2unix-7.3.3.tar .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Isso instalará o dos2unix em $ HOME / bin /.
Para obter mais informações, consulte INSTALL.txt.
Resposta
Você precisa baixar o RPM específico do site do sistema operacional. Por exemplo, para CentOS, baixe o arquivo RPM de http://vault.centos.org/
Deixe uma resposta