我在两个目录上有日志文件,为了简单起见,我将调用 dir 1 和 dir 2。
假设用户输入位于 dir1 中的 file.log,我应该 tail -f 从 dir1 和 dir2 中除 file.log 之外的所有文件。有人可以帮我解决这个问题吗?
ssh host 'find /path/to/a/log -maxdepth 1 -type f -name "file*" -name "*.log" ! -name "$1" -print0 -exec tail {} \;' > /home/pl-${node}.log
ssh host 'find /path/to/a/log -maxdepth 1 -type f -name "file*" -name "*.out" ! -name "$1" -print0 -exec tail {} \;' > /home/pl-${node}.out
node 只是一个存储 1 和 2 的变量。当我输入 ./test file-1.log 时,输出为:
pl-1.log
Oct 21 09:15 pl-1.out
Oct 21 09:15 pl-2.log
Oct 21 09:15 pl-2.out
如您所见,所有文件都被拖尾,即使我在参数中指定 file-1.log 不被拖尾$1
。