쉘 스크립트 출력에서 ​​URL 작성

쉘 스크립트 출력에서 ​​URL 작성

Linux 서버에는 컬을 실행하고 다음과 같은 출력을 반환하는 스크립트가 있습니다.

스크립트:

/usr/bin/curl -k -s https://example.com:18080/seriessnapshot?substringSearch=OpenFin%20Memory | cut --characters=44-51 | sort --unique | sed -e 's/iessnaps//g' -e '/^$/d'

산출:

AP711671
AP714628
AP715911
AP716960
AP717267
AP717938
AP718017
AP718024
AP721570
AP721875
AP722002
AP722622

그런 다음 각 AP 번호에 대한 출력을 기반으로 URL을 작성해야 합니다. 예를 들어 각 AP 번호에 대해 다음과 같은 출력을 반환해야 합니다.

http://apRandomNumber.com:1025/

AP를 제외한 모든 것은 정적이며 URL의 유일한 동적 부분은 AP 번호입니다.

AP 번호를 반환하기 위해 사용하고 있는 동일한 스크립트에서 이 작업을 수행할 수 있습니까? 그렇다면 이를 해당 스크립트에 어떻게 통합할 수 있습니까?

답변1

sed간단하고 쉬운 방법은 명령을 다음으로 바꾸는 것입니다.

sed -n -E 's|^AP([[:digit:]]+)$|http://ap\1.ztb.icb.commerzbank.com:1025/|p' 
  • -n줄 인쇄를 억제하여 마지막에 어떤 줄이 실제로 인쇄되는지 더 잘 제어할 수 있습니다.
  • -E나머지를 더 쉽게 만들려면 확장 정규식을 활성화하세요.
  • ^AP([[:digit:]]+)$숫자로 시작하고 뒤에 숫자가 오는 전체 줄을 일치시켜 AP해당 부분을 ()에 배치합니다 \1. 여러 부분으로 구성된 더 복잡한 패턴이 있으면 ()결국 에는 등이 됩니다.\2
  • 그런 다음 \1값/내용을 교체 항목에 직접 삽입합니다.
  • p마지막 줄을 인쇄합니다(따라서 실제로 대체가 발생한 줄만 인쇄합니다).

관련 정보