Просканировать каталог файлов и найти копии с тем же именем и объединить их в один файл

ls > list

Создает новый файл с именем list и добавляет в этот файл содержимое команды ls .

Вы можете проверить содержимое файла list , набрав команду как,

cat list

Теперь для второй команды

ls >> list

будет добавлено содержимое ls ] в файл с именем список . Таким образом, разница будет в том, что если вы выполните эту команду 5 раз, вывод команды ls будет записан 5 раз в файл list , но для каждой первой команды каждый раз будет вывод будет перезаписан.

1
18.10.2015, 04:00
1 ответ

Далее предполагается, что часть Rep имени файла нумеруется последовательно, начиная с 1 (т.е. не будет Rep2 или Rep3, если также не будет Rep1). Он использует наличие файла "Rep1", чтобы решить, запускать ли кот для конкретной серии файлов Experiment * ... это необходимо только в том случае, если некоторые файлы могут отсутствовать в последовательности ExperimentA * .. ExperimentZ * . Если это невозможно, просто удалите [-e Experiment $ {f} _Rep1.bed] && из строки cat.

for f in {A..Z} ; do
    [ -e Experiment${f}_Rep1.bed ] && cat Experiment${f}_Rep*.bed > Experiment${f}_merged.bed
done
0
28.01.2020, 01:33

Теги

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