2014-09-05 3 views
0

scp을 사용하여 파일을 셸 스크립트를 통해 복사하려고합니다. 내 코드 조각은 다음과 같습니다.scp를 사용하여 파일 이름에 공백이있는 파일 복사

for file in $result; 
do 
scp [email protected]:"$feed" destination 
done 

결과에 복사 할 파일 목록이 있습니다. 그러나 예를 들어 이름에 공백이있는 파일은 복사되지 않습니다. 예 :

new assignment.xls 

친절하게 제안하십시오.

+0

"$ file"이 아니어야합니까? – MightyPork

+0

첫 줄 끝 부분 ('$ result' 다음에)에? – NeronLeVelu

+0

네가 잘못 입력 한 이유는 $ file –

답변

0
for file in $result; 
do 
name=`echo $file | sed 's/ /\\ //'` 
scp [email protected]:"$name" destination 
done 
+0

이어야합니다. scp username @ hostname : "/$ feed "destinat ion ....이게 어떻게 스크립트 –

+0

에 이미 업데이트되어야하는지 알려주고, 이름이 공백으로 바뀌면 –

0
echo "${result}" | while read FileName 
do 
    scp "[email protected]:${FileName}" destination 
done 

이 (

이 아닌 파일/경로 전체 소스를 캡슐화 while read 대신} for in의 적응. destionation도 견적 공간이나 다른 메타 문자입니다해야합니다 내부

입니다
+0

이것은 나에게 인자리스트가 너무 길다는 메세지를 준다. 나의 요구 사항은 한번에 하나의 파일을 로컬에 복사하는 것이다. 시스템은 scp를 통해 그리고 나서 로컬에서 hdfs 위치로 이동합니다. 로컬 –

+0

에서 공간 constrataint를 사용하면 반복마다 하나의 파일 (그리고 결과로 한 줄당 하나의 파일) – NeronLeVelu

관련 문제