在Linux中使用Tail递归地输出到单独的文件中

在Linux中使用Tail递归地输出到单独的文件中,linux,recursion,find,Linux,Recursion,Find,我正在尝试递归(使用子目录)读取特定类型(*.log)的每个文件的最后一行,并将输出写入每个*.log文件的各个文件中 e、 g.(文件名) 我能拼凑的最接近的代码如下。但是,对于运行tail命令的每个实例,我需要将信息发送到一个文件中 find -type f | while read filename; do tail -1 $filename; done 你的解决方案就快到了。只需添加${f}.tail即可创建tail文件: find . -type f | while read f;d

我正在尝试递归(使用子目录)读取特定类型(*.log)的每个文件的最后一行,并将输出写入每个*.log文件的各个文件中

e、 g.(文件名)

我能拼凑的最接近的代码如下。但是,对于运行tail命令的每个实例,我需要将信息发送到一个文件中

find -type f | while read filename; do tail -1 $filename; done

你的解决方案就快到了。只需添加
${f}.tail
即可创建tail文件:

find . -type f | while read f;do tail -1 $f > ${f}.tail;done

另一种可能是

find . -type f -exec sh -c "tail -1 '{}' > '{}'.tail"  \; 

如果示例文件是dir1/dir2/file.txt,那么对应尾部文件的路径是什么?@user3490469:请编辑您的问题以改进它。