Поиск каталога, соответствующего определенному имени, и рекурсивное копирование из родительского каталога -результатов поиска -

#!/bin/bash
sample_dir="/C/Users/testuser/Desktop/sample" 
out_file="/C/Users/testuser/Desktop/sample/output.tsv"

for file in "$sample_dir"/*
do
   count=0
   while read line; do
        if [[ "$line" == "##"* ]] || [[ "$line" == "#"* ]]; then
           count=$((count+1))
           if [[ count -ge 4 ]]; then
              echo -e "" >> $out_file            
              continue 2
           fi
            continue 
        else
           echo -e "$line" >> $out_file
        fi
    done < $file
done
0
07.04.2021, 23:17
2 ответа

Вы можете заменить -execкомандной строкой bash:

.... -exec bash -c 'cp -r $(dirname $0) /target/' '{}' \;

Пожалуйста, примите во внимание комментарий @KamilMaciorowski :, немного непонятно, что вы пытаетесь извлечь. Итак, поиск d1в такой структуре каталогов

└ a
  └ b
    ├ c1
    │ └ d1
    │ └ d2
    │ └ d3
    ├ c2
    └ c3

вышеприведенное будет копировать c1с включенными d2и d3, а не только d1.

0
28.04.2021, 22:53

Мне помогло:

find m/n/o/p -mindepth 1 -maxdepth 1 -type d -exec [ -d {}/r ] ';' -exec cp -r {} <folder_to_copy_into> \;)
0
28.04.2021, 22:53

Теги

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