我想找到以_peaks.bed结尾的文件,但不包括tmpscripts文件夹中的文件.

我的命令是这样的:

 find . -type f \( -name "*_peaks.bed" ! -name "*tmp*" ! -name "*scripts*" \)

但没用.tmpscript文件夹中的文件仍将显示.

有人对此有 idea 吗?

推荐答案

以下是使用find指定的方法:

find . -type f -name "*_peaks.bed" ! -path "./tmp/*" ! -path "./scripts/*"

Explanation:

  • find .-从当前工作目录开始查找(默认为递归)
  • -type f-将结果中只需要文件指定为find
  • -name "*_peaks.bed"-查找以_peaks.bed结尾的文件
  • ! -path "./tmp/*"-排除路径以./tmp/开头的所有结果
  • ! -path "./scripts/*"-还排除路径以./scripts/开头的所有结果

Testing the Solution:

$ mkdir a b c d e
$ touch a/1 b/2 c/3 d/4 e/5 e/a e/b
$ find . -type f ! -path "./a/*" ! -path "./b/*"

./d/4
./c/3
./e/a
./e/b
./e/5

很接近,-name选项只考虑basename,而as -path考虑整个路径=)

Linux相关问答推荐

如何在不使用LD_LIBRARY_PATH或RPATH的情况下运行链接到共享库的二进制文件?

在新环境中使用Unicode范围的sed表达式有问题

一个关于Linux中的fork()和物理地址的奇怪问题

BASH:在curl输出的每一行添加前缀

如何使用netcat为DPDK实例提供输入?

从父目录中删除目录而不删除父目录 (Linux)

递归/详尽地将点插入字符串

命令应在终端关闭后继续运行

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

如何在makefile中包含静态库

MessageBox 的 GTK 实现

如何使用完整路径或文件名显示 grep 结果

C hello world 的汇编输出的每一行是什么意思?

通过 Linux FrameBuffer 将像素绘制到屏幕上

发出信号并中断比较

如何设置errno值?

在文件夹中的 gzip 文件中查找字符串

Windows 开发环境值得付出代价吗?

cat、grep 和 cut - 翻译成 python

如何在 linux 中使用 CMake 和 Kdevelop 编译 GLUT + OpenGL 项目?