如何从列表中删除除另一个特定模式文件之外的某些模式文件?
How to remove certain pattern files except another certain pattern files from a list?
我有很多名为 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 {} \;
我有很多名为 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 {} \;