Czy istnieje sposób zastosowania dos2unix
polecenia, aby działało na wszystkich plikach w folderze i jego podfolderach?
man dos2unix
nie pokazuje żadnych -r
lub podobnych opcji, które mogłyby to ułatwić?
command-line
files
Alex Kinman
źródło
źródło
dos2unix
domyślnie pomija pliki binarne.Pomijanie plików binarnych i ukrytych plików było dla mnie ważne:
Ten działał dla mnie dobrze:
Co przekłada się na: znajdowanie rekursywnie wszystkich nie ukrytych plików w bieżącym katalogu, a następnie za pomocą grep, wyświetlenie listy wszystkich niepustych (-I) niepustych plików, a następnie potokowanie go do xargs (rozdzielonych znakami nowej linii) po jednym pliku, aby dos2unix i zachowaj oryginalny znacznik czasu.
Zobacz też:
https://github.com/mdolidon/endlines
źródło
Za pomocą polecenia find można znaleźć wszystkie pliki w strukturze katalogów, które chcesz uruchomić za pomocą polecenia dos2unix
Spójrz na strony podręcznika dla find, istnieje wiele opcji, których możesz użyć, aby określić, co zostanie ocenione
źródło
Użyj znaku wieloznacznego. W ten sposób: (jeśli jesteś w folderze)
lub jeśli jesteś poza folderem:
źródło
Używanie
bash
:Opcja
globstar
powłokibash
umożliwia użycie**
globu. Działa to tak samo,*
ale pasuje/
do nazw ścieżek (stąd też dopasowuje nazwy w podkatalogach). To działałoby w katalogu zawierającym umiarkowaną liczbę plików w jego podkatalogach (niewiele tysięcy).W
zsh
iyash
muszli (zset -o extended-glob
, wyash
), zrobiłbyśźródło