как я могу подавить unedsary вывод seds при использовании опции -e?

почему n опция здесь не работает

[root@testgfs2 final]# echo abc | 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 abcd | sed ... 

вывод:

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

Проблема в том, что вы используете p в качестве модификатора, который печатает «пространство с образцом», то есть результат. Чтобы исправить ваш пример, просто выполните:

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

Вы также можете использовать что-то вроде:

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

вместо.