В Linux, используя команду tailf
, как я могу забрать несколько файлов журналов, находящихся внутри папки и в подпапках?
Как закрепить все файлы журнала внутри папки и подпапок?
Ответ 1
Чтобы зарегистрировать все файлы внутри папки, вы можете перейти в папку и написать
tailf *.log
Чтобы добавить подпапки к команде tailf, используйте
tailf **/*.log
Вместо tailf
вы также можете использовать tail -f
. Конечно, регулярное выражение может быть улучшено для соответствия только определенным именам файлов.
Ответ 2
Это будет рекурсивно находить все *.log файлы в текущем каталоге и его подпапках и убирать их.
find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +
Ответ 3
Если все файлы журналов не имеют такого же расширения. Вы можете использовать следующую команду.
tail -f **/*
Ответ 4
Таким образом, найдите файлы рекурсивно, напечатайте строки, начиная с строки 5 в каждом файле, и сохраните на concat.txt
find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt