Какие из них мне разрешено удалять? Какие из них необходимы в моей системе?
Ни одного, и все. Большинство этих файлов создается при установке или при запуске программы. Даже если вы удалите их, они вернутся.
Как я могу это реализовать?
В зависимости от вашего использования, но если серьезно, большинство из них используют <1 КБ, поэтому вас не должно беспокоить их присутствие. Только не набирайте ls -a
, и вы больше никогда их не увидите.
Предполагая, что у вас есть верхний каталог, где у вас есть только эти каталоги, я думаю, что следующий шелл-скрипт может как создавать подкаталоги _.LD_RESULTS_
, если необходимо, так и выполнять копирование.
#!/bin/bash
for i in */
do
target="$i/_.LD_RESULTS_$i"
mkdir -p "$target"
cp -p "${i}"*.txt "$target"
done
Вы уверены, что вам нужны копии? Альтернативой является перемещение файлов. Если вам нужна резервная копия, она должна быть на другом диске (, чтобы пережить сбой диска ).
Если имена каталогов _.LD _RESULTS точно содержат имя родительского каталога, то этот цикл for
должен помочь:
for dir in *_*_GeneSet
do
echo cp "$dir"/*.txt "$dir"/_.LD_RESULTS_"$dir"/
done
Я использовал шаблон для подстановочного знака цикла for
, который требует "что угодно", подчеркивание, "что угодно", подчеркивание, "GeneSet" в качестве имени родительского каталога. Отрегулируйте это, чтобы расширить или сузить сферу по мере необходимости.