você pode querer -maxdepth 1que ele não passar por subdiretórios
barlop
1
Obrigado pela dica. Mas o meu caso de uso requer todos os arquivos, incluindo aqueles em sub-pastas ..
Satish
Instalar o Cygwin apenas para executar um programa me parece um exagero. Eu sugeriria apenas usar a versão DOS do mesmo programa e, em seguida, um comando de uma linha no shell para executá-lo em todos os arquivos.
Richard
1
@ Richard: Verdade, mas muitos de nós já têm o Cygwin e suas ferramentas instaladas. Você pode tentar também. Isso tornará seu Windows mais Linux-y e, portanto, mais tolerável. Além disso, você não precisa procurar soluções específicas do Windows para seus problemas de linha de comando.
John
5
Você pode instalar o git bash em vez do cygwin32 (ou similar) no Windows. É fornecido com vários comandos UNIX-like (por exemplo, find, dos2unix, etc.,) no bashmodo de emulação. Uma vez instalado, a conversão de arquivos do Windows para o final do arquivo Unix deve ser fácil.
Digamos que você tenha seus arquivos (terminando com o sufixo .java ) em uma árvore de pastas chamada src e deseje converter os finais deles do Windows para os do Unix.
Localize src no Windows Explorer.
Clique com o botão direito e abra o Git Bash nessa pasta no menu de contexto do Windows.
Sua resposta para usar o dos2unix e o unix2dos é excelente.
Aqui está outra maneira com base em sua resposta.
Você pode usar o Gnuwin32, embora o pacote Gnuwin32 que possui os comandos seja Cygutils http://gnuwin32.sourceforge.net/packages/cygutils.htm, para obter o unix2dos.exe e o dos2unix.exe em C: \ Arquivos de Programas .... \ GnuWin32 \ bin e com isso no seu PATH.
C:\somedir>dir<ENTER>
Volume in drive C has no label.
Volume Serial Number is DC46-3C68
Directory of C:\somedir
05/23/2014 01:10 AM <DIR> .
05/23/2014 01:10 AM <DIR> ..
05/23/2014 01:10 AM 4 file1
1 File(s) 4 bytes
3 Dir(s) 196,129,951,744 bytes free
Do this command to go from dos2unix
C:\somedir>for %f in (*) do dos2unix %f <ENTER>
C:\somedir>dos2unix file1 <-- This runs automatically from you doing the above command
file1: done.
And do this command to go from unix2dos
C:\somedir>for %f in (*) do unix2dos %f <ENTER>
C:\somedir>unix2dos file1 <-- This runs automatically from you doing the above command
file1: done.
C:\somedir>
E para testar se o seu para% f faria o que você deseja, use echo ou @ECHO, por exemplo,
para% f em (*) do @ECHO unix2dos% f
E você pode usar o xxd para criar os arquivos e testar se eles são convertidos. O xxd para Windows vem com o VIM C: \ "" Arquivos de Programas \ vim \ vim74 \ xxd.exe
so, i'll create a file, I like this style of command is it allows me to
create whateer file I want, a dos one or a unix one or anything.
61 is hex for 'a'
C:\somedir>echo 610d0a| xxd -r -p >testfile <ENTER>
check the file raw, in its hex
C:\somedir>cat testfile | xxd -p <ENTER>
610d0a
check the file in ascii or unicode
C:\somedir>cat testfile <ENTER>
a
and the following commands just prove that dos2unix and unix2dos work/are working fine.
C:\somedir>dos2unix testfile <ENTER>
testfile: done.
C:\somedir>cat testfile | xxd -p <ENTER>
610a
C:\somedir>unix2dos testfile <ENTER>
testfile: done.
C:\somedir>cat testfile | xxd -p <ENTER>
610d0a
C:\somedir>
note: também no caso de usar uma distro * nix, olhando para o apt-get (pesquisa do apt-cache dos2unix) o pacote é realmente (talvez sem surpresa!) dos2unix (instalado com o apt-get install dos2unix) e isso inclui o dos2unix executável, o executável unix2dos. Se você pesquisar no apt-cache unix2dos, ele mostrará o pacote dos2unix.
Respostas:
Cygwin e Dos2unix instalados no Cygwin
fonte
-maxdepth 1
que ele não passar por subdiretóriosVocê pode instalar o git bash em vez do cygwin32 (ou similar) no Windows. É fornecido com vários comandos UNIX-like (por exemplo,
find
,dos2unix
, etc.,) nobash
modo de emulação. Uma vez instalado, a conversão de arquivos do Windows para o final do arquivo Unix deve ser fácil.Digamos que você tenha seus arquivos (terminando com o sufixo .java ) em uma árvore de pastas chamada src e deseje converter os finais deles do Windows para os do Unix.
find . -name "*.java" -exec dos2unix {} \;
.E é isso!
fonte
Sua resposta para usar o dos2unix e o unix2dos é excelente.
Aqui está outra maneira com base em sua resposta.
Você pode usar o Gnuwin32, embora o pacote Gnuwin32 que possui os comandos seja Cygutils http://gnuwin32.sourceforge.net/packages/cygutils.htm, para obter o unix2dos.exe e o dos2unix.exe em C: \ Arquivos de Programas .... \ GnuWin32 \ bin e com isso no seu PATH.
E para testar se o seu para% f faria o que você deseja, use echo ou @ECHO, por exemplo,
para% f em (*) do @ECHO unix2dos% f
E você pode usar o xxd para criar os arquivos e testar se eles são convertidos. O xxd para Windows vem com o VIM C: \ "" Arquivos de Programas \ vim \ vim74 \ xxd.exe
note: também no caso de usar uma distro * nix, olhando para o apt-get (pesquisa do apt-cache dos2unix) o pacote é realmente (talvez sem surpresa!) dos2unix (instalado com o apt-get install dos2unix) e isso inclui o dos2unix executável, o executável unix2dos. Se você pesquisar no apt-cache unix2dos, ele mostrará o pacote dos2unix.
fonte