특정 문자 발생 전후의 모든 것을 제거하는 방법은 무엇입니까?

특정 문자 발생 전후의 모든 것을 제거하는 방법은 무엇입니까?

입력하다

|1|2|3|4|5|

산출

|3|4|

파이프 번호 X (이 경우 3) |이전의 모든 항목 과 파이프 번호 Y(이 경우 5) 이후의 모든 항목을 어떻게 삭제합니까?

답변1

존재하다 awk:

$ awk -F"|" -vOFS="|" '{print "|"$4,$5"|"}' file
|3|4|

진주:

$ perl -F'\|' -lane 'print join "|", "",@F[3..4],""' file
|3|4|

답변2

입력 파일

예.txt

|1|2|3|4|5|

주문하다:


awk '{print substr($1,5,5)}' example.txt  

산출


|3|4|  

관련 정보