Я прошел через sed one liners, но у меня все еще есть проблемы с моей целью. Я хочу подставить соответствующие строки для всех, кроме первого вхождения строки. Мое точное использование было бы:Имейте sed заменить на строку, но SKIP первое появление
$ echo 'cd /Users/joeuser/bump bonding/initial trials' | sed <<MAGIC HAPPENS>
cd /Users/joeuser/bump\ bonding/initial\ trials
линия заменила пространство в bump bonding
с косой чертой пространства bump\ bonding
, так что я могу выполнить эту строку (так как, когда пространства не спасся, я не смог бы кд в Это).
Update: Я решил эту проблему, используя только одиночные кавычки и вывода
cd 'blah blah/thing/another space/'
, а затем с помощью source
, чтобы выполнить команду. Но он не ответил на мой вопрос. Мне все еще интересно, но ... как бы вы использовали sed
, чтобы исправить это?
Ваш первый ответ выглядит универсальным решением. С небольшим чтением флаг -e кажется тем, что я действительно искал. – physicsmichael