sed + исправить синтаксис PATH с помощью sed - PullRequest
1 голос
/ 26 июля 2010

Иногда у нас возникают проблемы с синтаксисом файла PATH

Например,

Неверный путь как (двойная косая черта)

     /etc//sysconfig/network

Хотя правильный синтаксис

   /etc/sysconfig/network

Как исправить с помощью sed, если PATH имеет два двойных пробела (подряд)

Например,

    echo   /etc//sysconfig/network | sed …

выведет

    /etc/sysconfig/network

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

Следующее выглядит как синусоидальная волна, но она делает свое дело:

pax> echo /etc//sysconfig/network | sed 's/\/\/*/\//g'
/etc/sysconfig/network

Она работает, объединяя все вхождения двух или более / символов в один.

2 голосов
/ 26 июля 2010

просто используйте оболочку (bash)

$ path="/etc//sysconfig/network"
$ echo ${path//\/\//\/}
/etc/sysconfig/network

в противном случае, если вы все еще предпочитаете sed

$ echo "$path" | sed 's/\/\//\//g'
/etc/sysconfig/network
...