>source

내 파일에 대한 솔루션을 찾고있는 동안 완벽한 것을 찾았습니다. 여기에 답을 포함합니다.https://unix.stackexchange.com/questions/219991/how-do-i-create-a-directory-for-every-file-in-a-parent-directory/220026#220026?newreg=94b9d49a964a4cd1a14ef2d8f6150bf8

하지만 이제 내 문제는 다음 명령 줄을 처리하는 각 파일에서 생성 된 디렉토리에 50 개의 복사본을 생성하는 방법입니다.

ls -p | grep -v / | xargs -t -n1 -i bash -c 'for i in {1..50}; do cp {} "{}_folder/copy${i}_{}" ; done'

다음을 얻으려면

-file1.csv---->folder_for_file1---->1copy_file1.csv,2copy_file1.csv,3copy_file1.csv........50copy_file1.csv
-file2.csv---->folder_for_file2---->1copy_file2.csv,2copy_file2.csv,3copy_file2.csv........50copy_file2.csv
-file3.csv---->folder_for_file3---->1copy_file3.csv,2copy_file3.csv,3copy_file3.csv........50copy_file3.csv
...
-file256.csv---->folder_forfile256---->1copy_file256.csv,2copy_file256.csv,3copy_file256.csv........50copy_file256.csv

이것을 이전 답변과 어떻게 일치시킬 수 있습니까 ??, 해당 답변의 기능 코드를 포함하십시오.

cd ParentFolder
for x in ./*.csv; do
  mkdir "${x%.*}" && mv "$x" "${x%.*}"
done

이 위대한 답변을 만든 사람에게 모든 크레딧과 모두에게 미리 감사드립니다.

  • 답변 # 1

    복사/제거에 대한 이동을 대체하고 for 루프를 추가하십시오.

    cd ParentFolder
    for x in ./*.csv; do
      mkdir "${x%.*}"
      for (( i=1;i<=50;i++ )); do # Create a loop, looping 50 times
         cp "$x" "${x%.*}/copy$i_$x" # use i in the copy command
         rm -f "$x" # Remove the file after the 50 copies
      done
    done
    
    

  • 답변 # 2

    몇 가지 테스트를 수행했으며 생성 된 폴더 내에서 각 파일을 50 번 효과적으로 복사하지만 각 새 파일에 "copy"라는 이름을 사용하고 확장자 .csv를 추가하기 때문에 부분적으로 작동하는 다음 코드를 게시 할 수 있습니다. 누군가이 문제를 해결하기위한 솔루션을 제공 할 수 있다면 좋을 것입니다. @Raman Sailopal의 도움과 의견에 감사드립니다.

    암호

    cd pruebas
    for x in ./*.csv; do
        mkdir "${x%.*}" 
        for ((i=1;i<=50;i++)); do # Create a loop, looping 50 times
        cp "$x" "${x%.*}/copy_$x_$i.csv" # use i in the copy command
        #rm -f "$x" # Remove the file after the 50 copies
        done
    done
    
    

  • 이전 Ansible 플레이 북에서 여러 인벤토리의 호스트로 여러 그룹 지정
  • 다음 내 파이썬 가상 환경에서 pytest를 설정하는 방법