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

работы, ноКак хвост последнюю строку из нескольких файлов с помощью "хвоста -1 */имя файла"

tail -1 */filename 

нет. Почему это? И есть ли 1 лайнер для выполнения этой задачи без циклов?

head -1 */filename 

работает по какой-то странной причине.

+2

Попробуйте 'tail -n 1 */filename'. – Beta

+0

Спасибо, это работает, но можете ли вы объяснить, почему он это делает? – mrkent

+0

Кроме того, что является лучшим способом хвоста и перечислить их в натуральном числовом порядке, как это делает ls -v. Я думаю, что просто использование tail */filename, каталогов 1, 10, 11, 12 и т. Д. Будет указано вместе, в то время как я хочу, чтобы 1, 2, 3, 4, ... были перечислены вместе. Благодарю. – mrkent

ответ

8

Пока head работает с -1 по нескольким файлам, tail нет. Но он работает с -n аргументом вместо:

tail -n 1 */filename 
+2

ls должен ** не анализироваться ** (см. Http://mywiki.wooledge.org/ParsingLs). – Emil

2

Если вы все еще ищете ответ, пожалуйста, попробуйте ниже:

Перейдите в каталог, в котором файл доступны и выполнить следующую команду

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

 Смежные вопросы

  • Нет связанных вопросов^_^