Sed соответствует всем строкам, но не включает новую строку, таким образом, пустая строка просто будет пустой строкой. Можно использовать ^
соответствовать началу строки и $
соответствовать концу, таким образом, ^$
соответствует пустой строке. Просто замена это с % ghi\n%
:
sed 's/^$/% ghi\n%/'
Новая строка, которая уже существовала, останется, таким образом, Вы закончите с % ghi
на одной строке и %
на следующем
Править: Если это должно только соответствовать однажды затем, выражение немного более сложно. Самым легким путем я знаю для выполнения в нем sed
:
sed '0,/^$/ s/^$/% ghi\n%/'
Замена перенесена в диапазон адресов 0,/^$/
, что означает, "только применяют следующее к строкам между 0 и первой строке, которая соответствует ^$
". Так как выражение замены проверяет на ^$
также, единственная строка, которую это на самом деле собирается изменить, является первой, который соответствует ^$
- первая пустая строка
Ищите его:
find / -name ruby 2> /dev/null
Если Вы получаете положительное местоположение, удостоверьтесь, что каталог находится в Вашем $PATH
. Если Вы не получаете вывода, Ваша установка Ruby не пошла как запланировано.