마지막 /를 검색하고 다음 2문자와 전체 줄을 인쇄합니다.

마지막 /를 검색하고 다음 2문자와 전체 줄을 인쇄합니다.

파일이 있어요abc.log

abc01        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fo027146
abc02        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fb027146
abc03        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fc027146

각 줄의 마지막 /(슬래시)를 찾은 다음 다음 2자를 선택하고 전체 줄을 인쇄해야 합니다.

내 출력은

abc01        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fo
abc02        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fb
abc03        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fc

답변1

그리고 grep:

$ grep -o '.*/..' abc.log
abc01        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fo
abc02        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fb
abc03        /opt/app/ggs/ggs/12.1.2.1.10/dirdat/fc

그러면 마지막 문자와 다음 두 문자까지의 /모든 내용 이 인쇄됩니다.

답변2

while 읽기 루프와 PE 사용

while read -r line; do
  line0=${line##*/}
  printf '%s\n' "$line/${line0:0:2}"
done < abc.log

파일 크기가 크면 입력이 느려질 수 있습니다.

관련 정보