![파일 [중복]에서 패턴 위의 줄을 반환합니다.](https://linux55.com/image/187119/%ED%8C%8C%EC%9D%BC%20%5B%EC%A4%91%EB%B3%B5%5D%EC%97%90%EC%84%9C%20%ED%8C%A8%ED%84%B4%20%EC%9C%84%EC%9D%98%20%EC%A4%84%EC%9D%84%20%EB%B0%98%ED%99%98%ED%95%A9%EB%8B%88%EB%8B%A4..png)
이 출력이 있습니다
v12: "owner" : "cs1372",
v12: "num-of-connections" : 1,
v12: "owner" : "cq5838",
v5: "owner" : "bb9886",
v5: "owner" : "aq0903",
v5: "owner" : "bj2468",
v5: "owner" : "di3080",
v5: "num-of-connections" : 1,
연결된 행 수보다 높은 행을 반환해야 합니다. 그래서 내가 원하는 출력은
v12: "owner" : "cs1372",
v5: "owner" : "di3080",
sed나 awk를 사용하여 이를 수행하는 쉬운 방법이 있습니까?
답변1
사용 awk
:
$ awk '$2=="\"num-of-connections\""{ print prev } { prev=$0 }' file
v12: "owner" : "cs1372",
v5: "owner" : "di3080",
현재 레코드를 변수에 저장합니다 prev
. 두 번째 필드가 동일하면 "num-of-connections"
변수를 인쇄합니다 prev
.