możesz chcieć, -maxdepth 1żeby nie przechodził przez podkatalogi
barlop
1
Dzięki za wskazówkę. Ale mój przypadek użycia wymaga wszystkich plików, łącznie z plikami w podfolderach.
Satish
Zainstalowanie Cygwina tylko w celu uruchomienia jednego programu wydaje mi się ogromną przesadą. Sugerowałbym użycie wersji DOS tego samego programu, a następnie polecenia powłoki w jednym wierszu, aby uruchomić go na wszystkich plikach.
Richard
1
@Richard: To prawda, ale wielu z nas już ma Cygwin i zainstalowane narzędzia. Możesz też tego spróbować. To sprawi, że twój Windows będzie bardziej Linux-y, a tym samym bardziej tolerowany. Ponadto nie musisz szukać rozwiązań problemów związanych z wierszem poleceń specyficznych dla systemu Windows.
John Red,
5
Możesz zainstalować git bash zamiast cygwin32 (lub podobnego) w systemie Windows. Pochodzi z kilku poleceń, takich jak UNIX (na przykład find, dos2unixitd) w bashtrybie emulacji. Po zainstalowaniu konwersja plików z Windows na końce plików Unix powinna być łatwa.
Załóżmy, że masz swoje pliki (z rozszerzeniem .java ) w drzewie folderów o nazwie src i chcesz przekonwertować ich zakończenia z systemu Windows na uniksowe.
Znajdź src w Eksploratorze Windows.
Kliknij prawym przyciskiem myszy i otwórz Git Bash w tym folderze z menu kontekstowego Windows.
Twoja odpowiedź na użycie dos2unix i unix2dos jest doskonała.
Oto inny sposób oparty na twojej odpowiedzi.
Możesz używać Gnuwin32, chociaż zabawnie jest pakiet Gnuwin32, który zawiera polecenia Cygutils http://gnuwin32.sourceforge.net/packages/cygutils.htm, więc dostaniesz unix2dos.exe i dos2unix.exe w C: \ Program Files .... \ GnuWin32 \ bin i tym razem w ŚCIEŻCE.
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>
Aby sprawdzić, czy twój% f zrobiłby to, co chcesz, użyj echa lub @ECHO np.
Dla% f in (*) wykonaj @ECHO unix2dos% f
I możesz użyć xxd do tworzenia plików i testowania ich konwersji. xxd dla Windows zawiera VIM C: \ Program "Files \ 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>
uwaga - również w przypadku korzystania z dystrybucji * nix, patrząc na apt-get (apt-cache search dos2unix) pakiet rzeczywiście jest (być może nie jest zaskoczeniem!) dos2unix (tak zainstalowany z apt-get install dos2unix) i to obejmuje wraz z dos2unix plik wykonywalny, plik wykonywalny unix2dos. Jeśli wykonasz wyszukiwanie apt-cache unix2dos, wyświetli się pakiet dos2unix.
Odpowiedzi:
Zainstalowano Cygwin i Dos2unix w Cygwin
źródło
-maxdepth 1
żeby nie przechodził przez podkatalogiMożesz zainstalować git bash zamiast cygwin32 (lub podobnego) w systemie Windows. Pochodzi z kilku poleceń, takich jak UNIX (na przykład
find
,dos2unix
itd) wbash
trybie emulacji. Po zainstalowaniu konwersja plików z Windows na końce plików Unix powinna być łatwa.Załóżmy, że masz swoje pliki (z rozszerzeniem .java ) w drzewie folderów o nazwie src i chcesz przekonwertować ich zakończenia z systemu Windows na uniksowe.
find . -name "*.java" -exec dos2unix {} \;
.I to wszystko!
źródło
Twoja odpowiedź na użycie dos2unix i unix2dos jest doskonała.
Oto inny sposób oparty na twojej odpowiedzi.
Możesz używać Gnuwin32, chociaż zabawnie jest pakiet Gnuwin32, który zawiera polecenia Cygutils http://gnuwin32.sourceforge.net/packages/cygutils.htm, więc dostaniesz unix2dos.exe i dos2unix.exe w C: \ Program Files .... \ GnuWin32 \ bin i tym razem w ŚCIEŻCE.
Aby sprawdzić, czy twój% f zrobiłby to, co chcesz, użyj echa lub @ECHO np.
Dla% f in (*) wykonaj @ECHO unix2dos% f
I możesz użyć xxd do tworzenia plików i testowania ich konwersji. xxd dla Windows zawiera VIM C: \ Program "Files \ vim \ vim74 \ xxd.exe
uwaga - również w przypadku korzystania z dystrybucji * nix, patrząc na apt-get (apt-cache search dos2unix) pakiet rzeczywiście jest (być może nie jest zaskoczeniem!) dos2unix (tak zainstalowany z apt-get install dos2unix) i to obejmuje wraz z dos2unix plik wykonywalny, plik wykonywalny unix2dos. Jeśli wykonasz wyszukiwanie apt-cache unix2dos, wyświetli się pakiet dos2unix.
źródło