2017-11-12 8 views
1
cat paste_output.txt | while read -r file_name path_name file; 
do mkdir -p -- "$path_name"; 
wget "$file_name"; 
mv "$file" "$path_name"; 
done; 

안녕하세요! 지정된 파일에서 필드별로 필드를 읽는 코드 조각이 있습니다. 내가 여기서하려고하는 것은 두 번째 필드에 지정된 디렉토리를 만든 다음 첫 번째 필드에 지정된 파일을 다운로드하고 그 파일을 다운로드 한 후 두 번째 필드에 지정된 디렉토리에있는 파일입니다.파일에서 입력을 읽어서 디렉토리를 만들고 파일을 다운로드하십시오.

출력 : 원하는 디렉토리 구조와 파일을 다운로드하지만 파일을 다운로드하는 디렉토리에서 명령을 실행하고 있습니다.

원하는 디렉토리에서 파일을 이동하는 방법은 무엇입니까?

답변

1

-P 플래그를 사용하여 파일을 대상 디렉토리에 넣을 수 있습니다. 디렉토리가 없으면 을 생성하므로 mkdir에 저장하겠습니다.

while read -r file_name path_name file; do 
    wget -P "$path_name" "$file_name" 
done < paste_output.txt 

나는 스크립트에 다른 개선했다 :

  • 가 입력 리디렉션 라인의 끝에서 더 나은
  • 세미콜론이 필요하지 않습니다이다 cat 쓸모됩니다
  • 그것은 들여 쓰기 좋은 가독성을위한 루프 본문
+0

고마워요! 그리고 정식으로 지적했다! –