원격 시스템에 연결한 다음 정보를 가져와 while
파이프를 통해 루프해야 합니다.
ssh [email protected] "find ~/listfile/ -iname \"*log*\" |while read line; do cat $line; done"
위 명령은 빈 줄을 인쇄합니다. 명령을 직접 확인해 보았는데 find
제대로 작동하고 파일 목록이 표시됩니다.
ssh [email protected] "find ~/listfile/ -iname \"*log*\""
찾은 파일의 내용을 어떻게 볼 수 있나요?
답변1
find
원격 서버에서 이름이 일치하는 파일을 나열하고 if 파일을 추가하려는 경우 단독으로 사용해야 합니다 -type f
.
ssh USER@HOST 'find ~/listfile/ -type f -iname "*log*" '
cat
파일의 내용을 찾으 려면 다음 find
과 같이 사용하십시오 cat
.
ssh USER@HOST 'find ~/listfile/ -type f -iname "*log*" -exec cat {} +'
귀하의 특정 문제는 $line
큰 따옴표로 묶여 있기 때문에 로컬 쉘 확장으로 인해 발생합니다. 그러나 어쨌든 귀하의 접근 방식은 find
결과를 반복하는 잘못된 방법입니다. 바라보다찾기 결과를 반복하는 것이 왜 나쁜 습관입니까?더 알아보기.