2016-09-07 5 views
0

다른 서버에있는 거대한 파일의 처음 n 줄을 읽으 려합니다. scp를 사용하여 파일을 복사했습니다.bash 명령을 사용하여 원격 서버에서 거대한 파일의 첫 번째 n 줄을 읽습니다.

sshpass -p $password scp [email protected]$server:$path_to_file "$content_file" 

그러나 파일의 처음 몇 줄만 입력하면됩니다. 파일이 거대하면 전체 파일을 먼저 다운로드 한 다음 head 명령을 사용하여 처음 n 줄을 읽습니다. 나는 scphead을 대체하려고했지만 그게 도움이되지 못했습니다. 올바른 방법을 제안하십시오.

+0

파일은을 통해서만 노출됩니다. SSH? –

답변

3

다음 명령을 사용하여 원격 결과를 로컬로 출력 할 수 있습니다.

ssh hostA head srcfile > destfile 

또는 다음을 사용하여 로컬 출력을 원격으로 출력하십시오.

ssh hostA 'head > destfile' < srcfile 
0

이것은 일종의 해킹입니다. 당신이 SCP 유틸리티로 제한하고 있으며, 로컬 호스트가 유닉스와 같은 경우, 당신은이 작업을 수행 할 수 있습니다

scp [email protected]:/some/file /dev/stdout | head > destfile 

이 SCP의 표준 출력에 쓰기, 원격 파일을 다운로드를 시작하기 위해 scp됩니다. 이 출력을 head 또는 파일의 내용을 처리하는 다른 유틸리티로 파이프 할 수 있습니다.