Переместить файлы .txt в подкаталоги

Какие из них мне разрешено удалять? Какие из них необходимы в моей системе?

Ни одного, и все. Большинство этих файлов создается при установке или при запуске программы. Даже если вы удалите их, они вернутся.

Как я могу это реализовать?

В зависимости от вашего использования, но если серьезно, большинство из них используют <1 КБ, поэтому вас не должно беспокоить их присутствие. Только не набирайте ls -a , и вы больше никогда их не увидите.

0
20.12.2018, 18:41
2 ответа

Предполагая, что у вас есть верхний каталог, где у вас есть только эти каталоги, я думаю, что следующий шелл-скрипт может как создавать подкаталоги _.LD_RESULTS_, если необходимо, так и выполнять копирование.

#!/bin/bash

for i in */
do
 target="$i/_.LD_RESULTS_$i"
 mkdir -p "$target"
 cp -p "${i}"*.txt "$target"
done

Вы уверены, что вам нужны копии? Альтернативой является перемещение файлов. Если вам нужна резервная копия, она должна быть на другом диске (, чтобы пережить сбой диска ).

2
28.01.2020, 02:23

Если имена каталогов _.LD _RESULTS точно содержат имя родительского каталога, то этот цикл forдолжен помочь:

for dir in *_*_GeneSet
do
  echo cp "$dir"/*.txt "$dir"/_.LD_RESULTS_"$dir"/
done

Я использовал шаблон для подстановочного знака цикла for, который требует "что угодно", подчеркивание, "что угодно", подчеркивание, "GeneSet" в качестве имени родительского каталога. Отрегулируйте это, чтобы расширить или сузить сферу по мере необходимости.

1
28.01.2020, 02:23

Теги

Похожие вопросы