문제

Locate의 출력 파일 목록을 만들고 싶습니다. 원해요 scp 목록을 가져갑니다.

구문에 대해 잘 모르겠습니다. 의사 코드에 대한 나의 시도

locate labra | xargs scp {} masi@11.11.11:~/Desktop/

파일을 대상으로 어떻게 이동할 수 있습니까?

도움이 되었습니까?

해결책

일반적으로 {}는 a입니다 찾기주의:

find ... -exec cmd {} \;

여기서 {}는 찾은 현재 파일입니다.

당신은 얻을 수 있습니다 Xargs 비슷한 행동 :

locate labra | xargs -I{} echo {} more arguments

그러나 하나의 호출 대신 명령을 여러 번 실행한다는 것을 빨리 알 수 있습니다. SCP.

그러므로 당신의 예의 맥락에서 :

locate labra | xargs -I{} scp '{}' masi@11.11.11:~/Desktop/

{} 주변의 단일 따옴표에 주목하십시오. 공백이있는 경로에 유용합니다.

다른 팁

Xargs는 일반적으로 명령 줄에 맞을 수있는 많은 인수를 취하지 만 -i를 사용하면 갑자기 하나만 사용됩니다. GNU 평행 http://www.gnu.org/software/parallel/ 더 나은 솔루션 일 수 있습니다.

locate labra | parallel -m scp {} masi@11.11.11:~/Desktop/

SCP를보고 있으므로 RSYNC도 확인해 주시겠습니까?

locate labra | parallel -m rsync -az {} masi@11.11.11:~/Desktop/
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top