2012-04-27 7 views
6
tail */filename 

opere, maCome coda l'ultima riga del file multipli usando "coda -1 */filename"

tail -1 */filename 

non lo fa. Perchè è questo? E c'è un solo liner per eseguire questo compito senza ricorrere a loop?

head -1 */filename 

funziona per qualche strano motivo.

+2

Prova 'tail -n 1 */nomefile'. – Beta

+0

Grazie, funziona, ma puoi spiegare perché lo fa? – mrkent

+0

Inoltre, qual è il modo migliore per codificarli ed elencarli in ordine numerico naturale, come il modo in cui fa -s. Penso che solo usando tail */filename, le directory 1, 10, 11, 12, etc siano elencate insieme, mentre voglio 1, 2, 3, 4, ... per essere elencate insieme. Grazie. – mrkent

risposta

8

Mentre head funziona con -1 su più file, tail no. Ma funziona con l'argomento -n invece:

tail -n 1 */filename 
+2

ls dovrebbe ** not ** essere analizzato (vedere http://mywiki.wooledge.org/ParsingLs). – Emil

2

Se siete ancora alla ricerca di risposte riprova di sotto di un:

Andare alla directory in cui il file è disponibile ed eseguire sotto comando

ls -1|while read file; do tail -1 $file; done