이 표현식에서 "<"와 ">" 사이의 모든 항목을 제거하는 방법을 알고 싶습니다.
i`< 1| | 1> -1.0000000000000
결과는 다음과 같습니다.
i-1.00000000
awk를 사용해 보았지만 ">"의 오른쪽 부분이나 부분의 왼쪽 부분만 제거할 수 있습니다.
awk -F '>' '{print $2}'
감사합니다
답변1
파이프를 통해 데이터 전송 sed
:
... | sed -e 's/<.*>//'
정규식은 " <
", 임의 개수의 문자, " >
" 순으로 일치하고 이를 빈 문자열 " //
"로 바꿉니다.
답변2
나는 다음을 사용할 것이다 sed
:
$ echo 'i< 1| | 1> -1.0000000000000' | sed 's/<[^-]*//'
i-1.0000000000000
답변3
일치 전후 FS
에 정규식을 사용하고 필드를 인쇄할 수 있습니다 .awk
echo 'i< 1| | 1> -1.0000000000000' | awk -F'<[^>]*> *' '{print $1 $2}'
답변4
echo 'i< 1| | 1> -1.0000000000000' |perl -pe 's/<.*>//;s/\s+/ /'
:)