이 sed 명령은 무엇을 의미합니까?

이 sed 명령은 무엇을 의미합니까?

쉘 스크립트에서 이것은 무엇을 의미합니까?

| sed 's/ /':'/' | sed 's/ /-/' > file.list

답변1

상황이 다음과 같다고 가정합니다.

some-command | sed 's/ /':'/' | sed 's/ /-/' > file.list

한 조각씩 분해해 보겠습니다. some-command예 를 들어 echo 'test of the command'.

그런 다음 sed 's/ /':'/'첫 번째 공백을 :.

test of the commandtest:of the command

그 후 sed 's/ /-/'새로운 첫 번째 공간을 다음으로 바꾸십시오.-

test:of the commandtest:of-the command

이 변환은 출력의 각 줄에 적용됩니다 some-command.


@Philippos가 댓글에서 언급했듯이 :여기에 인용이 없는 이유가 불분명합니다. 그게 낫다

some-command | sed 's/ /:/' | sed 's/ /-/' > file.list

그러나 sed인스턴스당 하나의 교체로 제한되지는 않습니다. 그래서 더 좋아

some-command | sed 's/ /:/; s/ /-/' > file.list

관련 정보