홈>
.jks
잔뜩 있어요
디렉토리의 파일. 날짜 및 만료 날짜부터 유효한 별칭 이름을 추출하고 싶습니다. 지금 나는 다음을 가지고있다 :
for f in *; do if [ -f $f ]; then echo "" |keytool -list -v -keystore $f | grep -e "Alias name:" -e "Valid from:"; fi done
다음과 같은 것을 출력 할 것입니다
Alias name: somehostname.com
Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022
Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022
.
.
.
Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022
각 별명에 대해 하나 이상의 인증서가 있지만 최대
n
인증서.
위의 출력 형식은 다음과 같습니다.
somehostname.com \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT 2022
{empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT 2022
.
.
.
{empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT 2022
{empty}
정렬을위한 공백을 의미합니다. 와이즈 비즈
\t
를 의미
분리 기호.
이것은하나에 대한 최종 출력입니다.
TAB
파일.
나는 모든
.jks
에 대해 이것을하고 싶습니다
디렉토리의 파일.
이렇게하려면 기존 명령 줄 스크립트를 awk로 수정하려면 어떻게해야합니까?
.jks
-
답변 # 1
-
답변 # 2
이것은 예쁘지 않지만 간단합니다.
cat sam.awk /Alias name:/ { count=0 l=length($3); printf "%s ", $3 } /Valid from:/ { count++; gsub(/Valid from:/, "\\t"); gsub(/until:/, "\\t"); space=0 if(count!=1) { space=l-4 printf "{empty}" }; printf " %*s %s %s %s %s %s %s %s %s %s %s %s %s\n",space,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15 }
재생 할 jsk 파일이 없기 때문에 실제 출력을 실험의 입력으로 가져 왔습니다 (여러 파일의 출력을 에뮬레이트하기 위해 하나의 항목을 복제하고 호스트 이름을 변경했습니다).
cat sam Alias name: somehostname.com Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022 Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022 Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022 Alias name: hostname.com Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022 Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022 Valid from: Wed Mar 01 00:00:00 GMT 2019 until: Wed Mar 01 00:00:00 GMT 2022
awk -f sam.awk sam
처럼 호출 다음을 제공합니다.awk -f sam.awk sam somehostname.com \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT {empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT {empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT hostname.com \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT {empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT {empty} \t Wed Mar 01 00:00:00 GMT 2019 \t Wed Mar 01 00:00:00 GMT
관련 자료
- 파이썬에서 정규식 (refindall)을 사용하여 텍스트에서 15 자리 문자열 추출
- python - opencv를 사용하여 추출 할 색상 정의
- python - 정규식을 사용하여 문자열과 줄 바꾸기 문자 (/ n) 사이의 텍스트 추출
- raku 문법에서 - global을 사용하여 어떻게 일치합니까?
- xpath - Selenium 및 Python을 사용하여 div 클래스에서 텍스트 추출
- regex - 파이썬에서 정규식을 사용하여 이름 목록을 추출하는 방법은 무엇입니까?
- stata - 정규식을 사용하여 패턴을 여러 번 일치
- teradata - 쿼리를 저장하는 열에서 SQL을 사용하여 테이블 이름 추출
- python - 판다 - 다른 데이터 프레임을 사용하여 데이터 프레임에서 열을 추출하는 방법은 무엇입니까?
- google sheets - IFS 및 ARRAYFORMULA를 사용할 때 일치 없음 오류를 방지하는 방법
- AWK를 사용하여 YAML 블록을 추출하는 방법
- pandas - Python을 사용하여 구매 주소 열에서 도시를 추출하는 방법
- java - 정규식을 사용하여이 문자열을 일치시키는 방법
- r - purrr - : keep을 사용하여 na가있는 목록 요소 이름 추출
- linux - grep을 사용하여 세 번째 열을 추출하는 방법은 무엇입니까?
- python - xpath를 사용하여 속성에서 속성 ID 추출
- jQuery 또는 JavaScript를 사용하여 배열에서 데이터 추출
- html - rvest를 사용하여 div에서 태그를 어떻게 추출합니까?
- python - xpath를 사용하여 href 태그에서 텍스트를 추출 할 수 없습니다
- Turtle을 사용하여 Python에서 x/y 좌표를 일치시키기 위해 if 문 사용
관련 질문
- bash - Linux + 루트 파일 시스템 크기 인쇄
- linux - 변수에 'arg'와 같은 문장이있는 awk gsub 명령
- bash - 열의 일부를 기준으로 CSV 파일 분할
- python - 쉘 출력을 10 진수로만 필터링하는 방법은 무엇입니까?
- python - SED를 사용하여 동일한 HEADER 형식으로 여러 데이터 세트 연결
- linux - 실행하지 않으면 터미널의 Ubuntu 색상 텍스트가 표시되지 않음
- linux - 인수는 php exec ()를 bash 스크립트로 제한합니다
- linux - 쉘이 예상대로 sed 교체 내에서 grep 명령을 실행합니다
- bash - awk의 두 파일간에 조건부로 열 비교
- linux - libreadline - "_rl_parse_colors ()"함수는 언제 호출됩니까?
GNU awk
가있는 경우{empty}
대신 공백을 사용하여 채 웁니다. 다음과 같이 할 수 있습니다 :file
와 함께 :이 출력을 생성합니다 :