Ich habe viele Dateien mit dem Namen chr1_gene _ *. Roh. Ich möchte einige von ihnen behalten. Also benutze ich folgenden Befehl.Wie entfernt man bestimmte Musterdateien mit Ausnahme bestimmter Musterdateien aus einer Liste?
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 {} \;
Manchmal sind zu viele Dateien, die ich behalten möchte. Ich möchte "-nicht -name" nicht zu oft eingeben. Gibt es eine Möglichkeit, eine Liste in "-nicht-Name" zu setzen?
Sie könnten die Dateinamen in eine Liste einfügen und dann ein 'find * .raw | grep -v -f Liste | xargs rm -rf'. Das ist der Filter, der mit 'grep -v' aus der Liste benannt wird und die gefilterte Dateiliste zum Löschen an xargs weiterleitet. –