GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare file in formato DOS in un file system Linux

ho avuto fortuna con

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

Che ne dici di:

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

Non penso sia affidabile provare ad usare ^M per cercare di trovare i file.


Non sei sicuro di cosa intendi esattamente per "non affidabile", ma potresti provare:

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

Questo usa il più atroce-nome-di-file-con-spazi-amichevole opzioni e trova solo i ritorni a capo immediatamente prima della fine della riga.

Tieni presente che il valore ^M è un singolo CTRL M carattere, non due caratteri.

E inoltre che elencherà i file in cui anche uno line è in modalità DOS, che è probabilmente quello che vuoi comunque dato che quelli sarebbero stati file UNIX alterati da un editor non UNIX.

In base al tuo aggiornamento, vim riporta i tuoi file in formato DOS:

Se vim è segnalandolo come formato DOS, quindi ogni la riga termina con CRLF . Questo è il modo in cui funziona Vim. Se anche uno la riga non ha CR , quindi è considerato il formato UNIX e il ^M i caratteri sono visibili nel buffer. Se è tutto in formato DOS, il ^M i caratteri non vengono visualizzati:

Vim cercherà entrambi i finali di riga dos e unix, ma Vim ha una preferenza incorporata per il formato unix.

- Se tutte le righe nel file terminano con CRLF, verrà applicato il formato di file dos, il che significa che ogni CRLF viene rimosso durante la lettura delle righe in un buffer e l'opzione buffer 'ff' sarà dos.
- Se una o più righe terminano solo con LF, verrà applicato il formato di file unix, il che significa che ogni LF viene rimosso (ma ogni CR sarà presente nel buffer e verrà visualizzato come ^M) e il buffer 'ff' l'opzione sarà unix.

Se davvero vuoi sapere cosa c'è nel file, non fare affidamento su uno strumento troppo intelligente come vim :-)

Usa:

od -xcb input_file_name | less

e controlla tu stesso le terminazioni di riga.


Linux
  1. Come convertire file in codifica UTF-8 in Linux

  2. Come trovare un file in Linux

  3. Come trovare un file in Linux in tutte le directory in modo ricorsivo

  4. Come trovare file duplicati in Linux

  5. Come posso elencare i file con percorsi completi in Linux?

Come trovare file in Debian 10

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come trovare file basati su timestamp in Linux

Come trovare file contenenti una stringa di testo specifica in Linux

Come trovare i file modificati nelle ultime 24 ore in Linux

Come comprimere un file in Linux