尾部命令 -f 对所有文件(文件除外)

  • 本文关键字:文件 命令 尾部 bash
  • 更新时间 :
  • 英文 :


我想对目录中的所有文件运行 tail -f 命令,除了该目录中的一个文件。 有人可以建议我一种方法吗,谢谢。

       ls | grep -v unwanted | xargs tail -f
你也可以

使用带有findexec标志,给你一个很好的有凝聚力的内衬:

find . -maxdepth 1 -type f ! -name unwanted.txt -exec tail -f {} +

如果您想深入当前

目录,也可以使用 -maxdepth 标志,或者如果您想递归当前目录和所有子目录,则可以完全省略它。

您还可以使用 -a 标志添加其他排除的文件,如下所示:

find . -maxdepth 1 -type f ! -name unwanted.txt -a -type f ! -name unwanted2.txt -exec tail -f {} +

但是,对于大量文件,这可能会变得有点乏味。

您可以使用 bash 的扩展通配,例如:

$ shopt -s extglob
$ ll
total 20K
drwxr-xr-x 2 foo foo 4.0K Sep 16 10:15 ./
drwxr-xr-x 5 foo foo 4.0K Sep 16 10:14 ../
-rw-r--r-- 1 foo foo    2 Sep 16 10:15 one
-rw-r--r-- 1 foo foo    2 Sep 16 10:15 three
-rw-r--r-- 1 foo foo    2 Sep 16 10:15 two
$ ll !(three)
-rw-r--r-- 1 foo foo    2 Sep 16 10:15 one
-rw-r--r-- 1 foo foo    2 Sep 16 10:15 two
$ tail *
==> one <==
1
==> three <==
3
==> two <==
2
$ tail !(three)
==> one <==
1
==> two <==
2

最新更新