저는 한 디렉터리에서 여러 .csv 파일을 통해 스크립트를 실행하고 각 파일의 출력을 다른 디렉터리로 보내는 작업을 하고 있습니다. .csv 파일을 하나씩 실행할 수 있지만 스크립트를 살펴봐야 하는 파일이 100개 있습니다. 개인적으로 매우 간단합니다. 여기에서 .csv 파일을 추출 Test_Folder
하고 스크립트 출력을 다음 주소로 보냅니다 Results
.
bash run_example.sh Test_Folder/df1.csv >> Results/results1.csv
그러나 모든 항목에 대해 루프를 실행하려고 하면 다른 디렉터리로 인해 일부 오류가 발생합니다. 나는 몇 가지 다른 것을 시도했습니다.
for csvfile in Test_Folder/*.csv;
do
bash run_example.sh $csvfile >> Results/test_results.csv
done
위의 내용은 분명히 작동하지만 test_results.csv
각 루프 후에 덮어쓰여집니다.
for csvfile in Test_Folder/*.csv;
do
bash run_example.sh $csvfile >> "Results/results_${csvfile}.csv"
done
위의 내용을 실행하려고 할 때 다음과 같은 문제가 발생했습니다.
bash: Results/results_Test_Folder/df1.csv.csv: No such file or directory
$csvfile
따라서 파일 자체뿐만 아니라 경로를 사용하는 것처럼 보입니다 . 이것은 분명히 존재하지 않는 디렉토리를 검색하게 됩니다. 다른 SE 게시물을 참조로 사용하여 위 코드의 다른 변형을 시도했지만 다른 디렉토리를 구체적으로 언급하는 게시물은 본 적이 없습니다.
입력 파일 results.csv
과 동일한 수의 파일로 새 디렉토리를 채우려고 합니다 results1.csv
. results2.csv
각 루프마다 증가하고 출력 파일 이름에 추가되는 숫자만큼 간단한 것조차도 완벽하게 작동합니다. 어떤 안내라도 대단히 감사하겠습니다!