Non sei sicuro di cosa si intende esattamente per "non affidabili", ma si consiglia di prova:
find . -name '*.php' -print0 | xargs -0 grep -l '^M$'
Questo utilizza le più atroci -nomi di file-con-spazi-in-li-amichevoli opzioni e trova solo ritorni a capo immediatamente prima della fine della riga.
Tenete a mente che il ^M
è un singolo CTRLM carattere, non due caratteri.
Ed anche che ti elenco i file in cui anche la linea uno è in modalità DOS, che è probabilmente quello che si vuole in ogni caso dal momento che quelli sarebbero i file UNIX stato storpiato da un editor non-UNIX.
Sulla base della vostra aggiornamento che Vim sta riportando i file come formato DOS:
Se vim è segnalazione come formato DOS, quindi ogni linea termina con CRLF
. Questo è il modo in cui funziona vim. Se anche una riga non dispone di CR
, allora è considerato formato UNIX e i caratterisono visibili nel buffer. Se è tutto formato DOS, non vengono visualizzate le ^M
personaggi:
Vim cercherà DOS e fine riga di UNIX, ma Vim ha una preferenza built-in per il formato UNIX.
- Se tutte le righe nel file terminano con CRLF, verrà applicato il formato del file dos, ovvero ogni CRLF verrà 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 del file unix, ovvero ogni LF verrà rimosso (ma ogni CR sarà presente nel buffer e verrà visualizzato come^M) e il buffer ' L'opzione ff 'sarà unix.
Se davvero volete sapere cosa c'è nel file, non si basano su uno strumento troppo intelligente come vim :-)
Usa:
od -xcb input_file_name | less
e controllare il linea fine da soli.
... Come esattamente non è affidabile? –
@ignacio cosa b dice vbp. Cioè, voglio essere in grado di trovare la proprietà del file piuttosto che ciò che il file contiene – denormalizer
Ma non è una proprietà del file, è ciò che il file contiene. –