"컬" 답변의 일부를 자르는 방법

"컬" 답변의 일부를 자르는 방법

나는 이것을 한동안 보았지만 아직 답을 찾지 못했습니다.

curl서버에 HTTP POST 요청을 보내는 명령이 있고 다음과 같이 "tmg.sh"라는 스크립트를 만들었습니다.

#! /bin/bash
echo "There you go:"
sleep 3s
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1"
echo "Thanks!"

그때 터미널에 다음 명령을 썼습니다.

chmode u+x ./tmg.sh

어떤 이유로든 루트 계정에서도 이 작업을 수행하지 않으면 다음이 반환되기 때문입니다. bash: ./tmg.sh: Permission denied하지만 어쨌든 이 작업을 완료한 후 다음과 같이 작성하겠습니다.

./tmg.sh NUMBER_GOES_HERE

이 숫자는 변수이며 다음과 같은 답을 얻습니다.

There you go:
<html code not relevant>
<div class="infoContido"><p>Non hai ningunha recarga para o n&uacute;mero de tarxeta introducido.</p></div>
<html code not relevant>
Thanks!

그런데 질문이 있습니다. 어떻게 얻을 수 있나요?전체 HTML 코드의 일부? 즉, 저는 다음과 같은 웹사이트의 일부만을 원합니다.

Non hai ningunha recarga para o número de tarxeta introducido.

또한, 제가 받을 때 참고하고 싶습니다.가득한페이지가 많습니다 <p>. <div>...이것이 가능합니까? 그렇다면 이 부분을 얻으려면 스크립트를 어떻게 편집해야 합니까?

정말 감사하고 좋은 하루 보내세요!

답변1

원하는 텍스트를 식별하는 방법을 설명하지 않았습니다.

텍스트만 원할 경우 다음을 사용해 보세요 links.

#! /bin/bash
echo "There you go:"
sleep 3s
links -dump "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1"
echo "Thanks!"

행 식별자가 "infoContido"인 경우 이것이 해결책일 수 있습니다.

#! /bin/bash
echo "There you go:"
sleep 3s
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | grep infoContido | cut -d\> -f2 
echo "Thanks!"

답변2

div 개체의 클래스를 항상 로 설정하려면 infoContido다음을 사용할 수 있습니다.강아지다음 명령을 사용하십시오.

curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | pup "div.infoContido"

답변3

컬 출력을 새 파일로 보냅니다. 예를 들어, 위에서 언급한 상황입니다.

curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | tee -a /var/tmp/mycurl

이제 당신이 해야 할 일은 이 새 파일에서 라인을 grep하는 것뿐입니다.

cat /var/tmp/mycurl | grep Non hai ningunha recarga para o número de tarxeta introducido.

관련 정보