Хвост нескольких файлов и вывод в качестве дополнительного столбца с результатами поиска

Хотелось бы вытащить последнюю строку текста из определенного (нескольких) файлов в каталоге. Кроме того, я хотел бы, чтобы результаты были в более традиционном формате столбца (например, ls ) с контуром, а не в типичном формате tail .

Из следующих результатов {1}, я хотел бы добавить в качестве дополнительного столбца последнюю строку данных {2}

Где {1} = find . -iname 'updated.txt' find . -iname 'updated.txt' и {2} = tail -n1

Я использую bash в Mavericks

2 Solutions collect form web for “Хвост нескольких файлов и вывод в качестве дополнительного столбца с результатами поиска”

Ну вот:

 find . -iname 'updated.txt' -exec ls -l {} \; -exec tail -n1 {} \; 

Более простая альтернатива, но с меньшим контролем над форматированием ls :

 find . -iname 'updated.txt' -ls -exec tail -n1 {} \; 

ОБНОВИТЬ

Как вы сказали в комментариях, вы предпочитаете иметь выход ls и tail выходящий бок о бок для каждого файла.

Вы можете запустить подоболочку для каждого совпадения, чтобы echo вывод двух команд рядом:

 find . -iname 'updated.txt' -exec sh -c 'echo $(ls -l "{}") $(tail -n1 "{}")' \; 

Аналогично, вы можете использовать paste :

 find . -iname 'updated.txt' -exec bash -c 'paste <(ls -l "{}") <(tail -n1 "{}")' \; 

Или вы можете запускать две команды find параллельно и вставлять их вывод следующим образом:

 paste \ <(find . -iname 'updated.txt' -exec ls -l {} \;) \ <(find . -iname 'updated.txt' -exec tail -n1 {} \;) 
 $ find . -iname 'updated.txt' -printf '%M %u %g %s %Tc %p\t' -exec tail -n1 {} \; 

Результат будет выглядеть следующим образом:

 -rw-r--r-- user group 4853 2013-12-22T00:58:32 MSK ./path/updated.txt Last line of the updated.txt. 
  • Как начать обработку файла, который еще не создан
  • Как я могу скопировать n строк после последних двух вхождений строки в файл?
  • Время, необходимое для вывода трубы на голову / хвост
  • Как ограничить количество строк выходом команды в bash?
  • Как сделать «хвост -f» файлов с чередованием логов?
  • Греп от конца файла до начала
  • Как я могу напечатать вторую в последнюю строку множество файлов в один файл?
  • Извлечь диапазон элементов из i-го элемента в j-й элемент, вплоть до n-го элемента из списка
  • tail -f не выводит результат в live CD на Ubuntu
  • bash syntax - команда обертывания внутри sudo :: tail logs до тех пор, пока строка не будет найдена с таймаутом с использованием Terraform
  • Tail -f передается через grep, не выводящий в файл, но выводит на консоль
  • Linux и Unix - лучшая ОС в мире.