![전후에 x 줄을 표시하지 않고 반전하는 방법은 무엇입니까? [복사]](https://linux55.com/image/100278/%EC%A0%84%ED%9B%84%EC%97%90%20x%20%EC%A4%84%EC%9D%84%20%ED%91%9C%EC%8B%9C%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EB%B0%98%EC%A0%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
필요한 것은 쉽게 설명할 수 있지만 할 수는 없습니다. :-( 명령 출력을 grep하고 싶습니다.일치하는 줄과 x 줄 뒤에 표시하지 않음저것. 예를 들어.
# fdisk -l
Disk /dev/ram0: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram1: 64 MiB, 67108864 bytes, 131072 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
"ram" 문자열이 있는 줄과 그 뒤의 6줄을 건너뛰고 싶으므로 출력은 다음과 같습니다.
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
그것은 마치sudo fdisk -l | grep -v "ram" -A 6
답변1
GNU sed를 사용하는 또 다른 방법:
| sed '/ram/,/^$/d;/^$/d'
산출:
디스크 /dev/sda: 931.5 GiB, 1000204886016바이트, 1953525168 섹터 단위: 섹터 1 * 512 = 512바이트 섹터 크기(논리/물리): 512바이트/4096바이트 I/O 크기(최소/최적): 4096바이트/4096바이트