-e 옵션을 사용할 때 sed에서 불필요한 출력을 억제하려면 어떻게 해야 합니까?

-e 옵션을 사용할 때 sed에서 불필요한 출력을 억제하려면 어떻게 해야 합니까?

여기서 n 옵션이 작동하지 않는 이유

   [root@testgfs2 final]# echo a b c | sed -ne 's/[[:blank:]]/"/gp' -ne 's/^/"/pg' -ne 's/$/"/pg'
    a"b"c
    "a"b"c
    "a"b"c"

나에게 필요한 것은:

"a"b"c"

실제로 나는 sed가 다음과 같은 작업을 수행하기를 원합니다.

echo a b c d | sed ...

산출:

'a' 'b' 'c' 'd'

답변1

문제는 p"패턴 공간"(즉, 결과)을 인쇄하는 수정자를 사용하고 있다는 것입니다. 예시를 수정하려면 다음을 수행하세요.

echo a b c | sed -e 's/[[:blank:]]/"/g' -e 's/^/"/g' -e 's/$/"/g

다음과 같은 사용을 고려할 수도 있습니다.

echo a b c | sed -e 's/\(\w*\)/"\1"/g'

대신에.

관련 정보