linux - 对目录中除某些文件以外的所有文件执行脚本

标签 linux bash shell awk

<分区>

我需要一个 bash 脚本来遍历目录中除了具有特定名称的文件之外的所有文件。也许可以在脚本执行期间借助 awk/sed 来完成?

这是我的脚本,它简单地将目录中的所有文件合并为一个:

 #!/bin/bash
(find $DIR_NAME -name app.gz\* | sort -rV | xargs -L1 gunzip -c 2> /dev/null || :)

如何将一些 $DIR_NAME 添加到列表中,而不是遍历它们?

最佳答案

将要排除的文件的名称放入一个文件中,例如“blacklist.txt”,每行一个文件名。然后使用

... | grep -F -f blacklist.txt | sort ...

将它们从 xargs 的输入中排除。

关于linux - 对目录中除某些文件以外的所有文件执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57411132/

相关文章:

php - 创建符号链接(symbolic link)以访问 linux 中的目录

linux - 简单的/etc/shadow Cracker

linux - 获取没有 tmp 文件的 git 提交的文件大小

bash - 访问运行脚本的 docker 容器外部的 bash 脚本变量

linux - shell 脚本 : Is there a difference between "local foo" and "local foo="?

linux - 外部无法访问tomcat

node.js - Node : write to stdin of bash process crashes with EPIPE

bash - 启动一个新的 tmux session 并分离它,所有这些都在一个 shell 脚本中

bash - 为什么非交互式 Bash shell 中的别名不起作用

linux - 如何使用 bash 从一行中提取特定消息