GNU/Linux >> Znalost Linux >  >> Linux

Jak najít soubory ve formátu DOS v systému souborů linux

měl jsem štěstí s

find . -name "*.php" -exec grep -Pl "\r" {} \;

Co třeba:

find . -name "*.php" | xargs file | grep "CRLF"

Nemyslím si, že je spolehlivé zkoušet a používat ^M pokusit se najít soubory.


Nejste si jisti, co přesně myslíte slovem „nespolehlivý“, ale můžete to zkusit:

find . -name '*.php' -print0 | xargs -0 grep -l '^M$'

To používá přívětivější názvy souborů s mezerami v nich options a najde pouze návrat vozíku těsně před koncem řádku.

Mějte na paměti, že ^M je jeden CTRL M znak, ne dvě znaky.

A také to, že zobrazí seznam souborů, kde i jeden řádek je v režimu DOS, což je pravděpodobně to, co stejně chcete, protože by to byly soubory UNIX upravené editorem, který není UNIX.

Na základě vaší aktualizace, že vim hlásí vaše soubory ve formátu DOS:

Pokud vim je nahlásit jej ve formátu DOS a poté každý řádek končí CRLF . Tak funguje vim. Pokud dokonce jeden řádek nemá CR , pak je považován za formát UNIX a ^M znaky jsou viditelné ve vyrovnávací paměti. Pokud je vše ve formátu DOS, ^M znaky se nezobrazují:

Vim bude hledat zakončení řádků dos i unix, ale Vim má vestavěnou preferenci pro formát unix.

- Pokud všechny řádky v souboru končí CRLF, použije se formát souboru DOS, což znamená, že každý CRLF je při čtení řádků do vyrovnávací paměti odstraněn a volba buffer 'ff' bude dos.
- Pokud jeden nebo více řádků končí pouze LF, použije se souborový formát unix, což znamená, že každý LF bude odstraněn (ale každý CR bude přítomen ve vyrovnávací paměti a zobrazí se jako ^M) a vyrovnávací paměť 'ff' možnost bude unix.

Pokud opravdu chcete vědět, co je v souboru, nespoléhejte na příliš chytrý nástroj, jako je vim :-)

Použijte:

od -xcb input_file_name | less

a sami zkontrolujte konce řádků.


Linux
  1. Jak najít soubor v Linuxu

  2. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  3. Jak v Linuxu zobrazím seznam souborů s úplnými cestami?

  1. Jak převést soubory do kódování UTF-8 v Linuxu

  2. Jak najít duplicitní soubory v Linuxu

  3. Najít všechny soubory Pythonu v systému souborů Linux?

  1. Jak najít soubory v Linuxu

  2. Jak formátovat diskové oddíly v Linuxu

  3. Jak zkrátit (prázdné) soubory v Linuxu