我有许多名为 chr1_gene_*.raw 的文件。我想保留其中一些。所以我使用以下命令。
find . -maxdepth 1 -type f -name "*.raw" -not -name "chr1_gene_448.raw" -not -name "chr1_gene_1914.raw" -not -name "chr1_gene_2456.raw" -not -name "chr1_gene_1554.raw" -not -name "chr1_gene_2024.raw" -not -name "chr1_gene_35.raw" -not -name "chr1_gene_509.raw" -not -name "chr1_gene_1952.raw" -not -name "chr1_gene_575.raw" -not -name "chr1_gene_2249.raw" -not -name "chr1_gene_272.raw" -not -name "chr1_gene_2158.raw" -exec rm -rf {} \;
有时我想保留的文件太多。我不想多次输入“-not-name”。有没有办法将列表放入“-not-name”中?
最佳答案
您可以使用 notnamescript.sh 脚本来实现此目的:
#!/bin/bash
while read line
do
echo "-not -name " $line
done<notnamelist
将所有 -not -name
名称放入名为 notnamelist
的文件中。记得那里
不应有尾随空行。
find . -maxdepth 1 -type f -name "*.name" $( ./notnamescript.sh ) -exec rm -rf {} \;
关于linux - 如何从列表中删除除其他特定模式文件之外的某些模式文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36806557/