이것은 내가 사용하는 명령입니다:
system_profiler | sed -n -e '/SATA/SATA Express:/,/Software:/ p'
그것은 나에게이 오류를 주었다
sed: 1: "/SATA/SATA Express:/,/S ...": invalid command code S
특히 거의 동일한 명령이 작동할 때 왜 작동하지 않는지 이해할 수 없습니다.
system_profiler | sed -n -e '/Hardware Overview:/,/Installations:/ p'
모르겠어요? S를 피할 이유가 없습니다.
답변1
/
둘 사이의 관계를 벗어나 문자 그대로 SATA
만듭니다 SATA Express:
.
system_profiler | sed -n -e '/SATA\/SATA Express:/,/Software:/ p'
또는 다음 구문을 사용하여 다른 구분 기호를 사용하십시오.
system_profiler | sed -n -e '\|SATA/SATA Express:|,/Software:/ p'
답변2
/Hardware Overview:/,/Installations:/ p
Hardware Overview:
이 코드는 일치하는 줄과 일치하는 줄 사이의 모든 줄을 인쇄한다는 의미입니다 Installations:
.
SATA Express:/
두 번째 코드는 의미가 없습니다. 주소 뒤에 넣을 수 없습니다 . sed
거기에서 명령을 기다리거나 다른 주소 뒤에 쉼표가 올 때까지 기다리십시오. 무엇을 달성하고 싶나요?