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
마지막 줄을 인쇄합니다(따라서 실제로 대체가 발생한 줄만 인쇄합니다).