linux 即时查看多个 文本文件...

发布网友 发布时间:2022-04-23 09:55

我来回答

4个回答

热心网友 时间:2023-11-01 10:11

我来个简单的吧

比如你要监控 1.txt 2.txt 。。。。。n.txt这些
你这样
tail -f 1.txt 2.txt 3.txt .......n.txt

然后就等着吧,每个文件有变化都自动打印出来了,而且不用sleep

简单吧,绝对完全符合你的要求

看我的测试结果

tail -f 1.txt 2.txt
==> 1.txt <==
abcd

==> 2.txt <==
abcd

==> 1.txt <==
add one line

==> 2.txt <==
add another line

热心网友 时间:2023-11-01 10:12

用shell脚本的while循环吧(这里仅以一个文本文件testfile.txt为例子):

#!/bin/sh
init_filesize=`wc -m testfile.txt | cut -d' ' -f1`
cp testfile.txt testfile.txt.orig #拷贝一个原文件的副本用于后续比较以输出差异部分
while true
do
filesize=`wc -m testfile.txt | cut -d' ' -f1`
# 若文件大小有增长,使用diff输出不一致的内容:
if [ $filesize -gt $init_filesize ]; then
diff testfile.txt testfile.txt.orig
cp testfile.txt testfile.txt.orig # 更新用于比较的文件副本
init_filesize=$filesize # 重置用于比较的基准文件大小
fi
sleep 1
done
exit 0

热心网友 时间:2023-11-01 10:12

如果用C调inotify,实时检查文件的变化。

我觉得LINUX都是遵守共同标准的,需要用到的命令肯定都带有,不需要考虑兼容的问题。

热心网友 时间:2023-11-01 10:13

是不是可以通过比较文件的mtime时间来实现?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com