Как я могу заменить все символы от строки?

У меня есть следующая строка

signaldate signaltime period UwThiSon3dH140__mean UwThiSon3dH140__sigma

Я пытался использовать sed заменять пространство запятой.

sed 's/ /,/g'
sed 's/[[:space:]]/,/g'

но это вывод все еще исходная строка. Как я могу заменить тот пробел?

0
задан 9 August 2014 в 00:07

3 ответа

Какова проблема?

$ echo signaldate signaltime period UwThiSon3dH140__mean UwThiSon3dH140__sigma \
  | sed 's/ /,/g'
signaldate,signaltime,period,UwThiSon3dH140__mean,UwThiSon3dH140__sigma

, Возможно, то, что Вы видите, не является пробелом, или он смешал пробел. Попробуйте \s символ вместо этого:

$ echo signaldate signaltime period UwThiSon3dH140__mean UwThiSon3dH140__sigma \
  | sed 's/\s/,/g'
signaldate,signaltime,period,UwThiSon3dH140__mean,UwThiSon3dH140__sigma

Сбой, что, сделайте, как комментарии Вашего вопроса предполагают и передают вывод до hexdump, таким образом, Вы видите то, что действительно продолжается, потому что это не пространство.

<час>

Примечание, которое Вы могли также использовать tr для замены символа, но я сомневаюсь, что это собирается устранить проблему, если Вы не можете добраться sed работа:

$ echo signaldate signaltime period UwThiSon3dH140__mean UwThiSon3dH140__sigma \
  | tr ' ' ','
signaldate,signaltime,period,UwThiSon3dH140__mean,UwThiSon3dH140__sigma
1
ответ дан 5 August 2019 в 19:21

\s соответствия одиночный пробел или вкладка. Это не будет соответствовать, если будет два пробелов во входной строке. Таким образом, лучше использовать <space>+ в шаблоне.

$ echo 'signaldate signaltime period UwThiSon3dH140__mean UwThiSon3dH140__sigma' | sed 's/ \+/,/g'
signaldate,signaltime,period,UwThiSon3dH140__mean,UwThiSon3dH140__sigma
1
ответ дан 5 August 2019 в 19:21

Необходимо выйти comma оператор как это.

sed 's/ /\,/g'

я проверил то же в свою solaris систему,

  bash-3.2$ echo "signaldate signaltime period UwThiSon3dH140__mean     UwThiSon3dH140__sigma" | sed 's/ /\,/g'
  signaldate,signaltime,period,UwThiSon3dH140__mean,UwThiSon3dH140__sigma
  bash-3.2$ 
0
ответ дан 5 August 2019 в 19:21

Другие вопросы по тегам:

Похожие вопросы: