![유닉스에서 로컬 서버에 있는 원격 서버에 있는 파일의 내용을 읽는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/137444/%EC%9C%A0%EB%8B%89%EC%8A%A4%EC%97%90%EC%84%9C%20%EB%A1%9C%EC%BB%AC%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%9B%90%EA%B2%A9%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%82%B4%EC%9A%A9%EC%9D%84%20%EC%9D%BD%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
results.txt 파일이 내 로컬 서버에 있는데, results.txt의 내용을 한 줄씩 읽어 원격 서버에서 일부 작업을 수행하고 싶습니다.
어떻게 해야 하나요?
답변1
- 첫 번째 - 원격 서버에 있다고 가정하고 원격 서버에서 로컬 파일을 가져오려면 다음을 수행합니다.
ssh UserName@LocalMachineIPWhciFileonit cat /path/to/result.txt
- 둘째 - 찾아보세요:
- 파일에 전체 경로가 포함된 경우:
if [ -f ... ]
locate
그렇지 않은 경우 또는 명령을 사용할 수 있습니다find
.
- 파일에 전체 경로가 포함된 경우:
파일에 전체 파일 이름 주소가 있다고 가정합니다.
for i in $(ssh UserName@LocalMachineIPWhciFileonit cat /path/to/result.txt);do if [ -f $i ];then cp $i /NewPathYouWould fi;done
귀하의 답변이 정확하길 바랍니다.
답변2
ssh
다른 파이프를 통해 하는 것처럼 파일의 내용을 제공할 수 있습니다.
# Create sample file
cat >>/tmp/file <<'EOF'
apple
banana
cherry
EOF
# Run 'nl' locally
nl </tmp/file
1 apple
2 banana
3 cherry
# Run 'tac' on the remote server 'rserver'
nl </tmp/file | ssh rserver tac
3 cherry
2 banana
1 apple
# Postprocess result locally
nl </tmp/file | ssh rserver tac | grep ana
2 banana
# Tidy up
rm -f /tmp/file