In Linux, using the command tailf
, how can I tail several log files that are inside a folder and in the subfolders?
If all log files doesn't have same extension. You can use following command.
tail -f **/*
This will recursively find all *.log files in current directory and its subfolders and tail them.
find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +
Or shortly with xargs:
find . -name "*.log" | xargs tail -f
To log all the files inside a folder, you can go to the folder and write
tailf *.log
To add the subfolders to the tailf command, use
tailf **/*.log
Instead of tailf
you can also use tail -f
. Of course, the regular expression can be improved to match only specific file names.
This way find files recursively, print lines starting on line 5 in the each file and save on concat.txt
find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt