
웹사이트에서 텍스트를 검색하는 쉘 스크립트
웹사이트의 특정 부분을 추출하여 터미널에 표시하는 방법이 있나요? 여러부분이 있어요이 웹사이트사람들이 VPN(VPNBook)에 액세스할 수 있도록 사용자 이름과 비밀번호를 표시합니다. 그러나 그들은 비밀번호를 변경했기 때문에 웹 사이트에 액세스하는 쉘 스크립트를 만들고 사용자 이름과 비밀번호 필드를 추출하여 표시할 수 있는지 궁금했습니다.
이제 사용자 이름과 비밀번호 필드는 다음과 같습니다.
Username: vpnbook
Password: he2qv5h
누군가가 나에게 이 프로젝트를 시작하는 올바른 방향을 알려준다면 좋을 것입니다.
답변1
이것은 나에게 효과적입니다.
#!/usr/bin/env bash
url='https://www.vpnbook.com/freevpn'
html=$( curl -# -L "${url}" 2> '/dev/null' )
username=$(
<<< "${html}" \
grep -P -o -e '(?<=<li>Username: <strong>)(.*?)(?=<\/strong><\/li>)' |
head -n 1
)
password=$(
<<< "${html}" \
grep -P -o -e '(?<=<li>Password: <strong>)(.*?)(?=<\/strong><\/li>)' |
head -n 1
)
printf '%s\n' "Username: ${username}" "Password: ${password}"