Как я могу добавить Добавить текст в начале каждой строки? - PullRequest
5 голосов
/ 22 сентября 2010

как я могу добавить Добавить текст в начале каждой строки?

например: - у меня есть файл, содержащий: -

/var/lib/svn/repos/b1me/products/payone/generic/code/core 
/var/lib/svn/repos/b1me/products/payone/generic/code/fees 
/var/lib/svn/repos/b1me/products/payone/generic/code/2ds

Я хочу, чтобы он стал: -

svn+ssh://svn.xxx.com.jo/var/lib/svn/repos/b1me/products/payone/generic/code/core 
svn+ssh://svn.xxx.com.jo/var/lib/svn/repos/b1me/products/payone/generic/code/fees    
svn+ssh://svn.xxx.com.jo/var/lib/svn/repos/b1me/products/payone/generic/code/2ds

другими словами, я хочу добавить «svn + ssh: //svn.xxx.com.jo» в начале каждой строки этого файла

Ответы [ 5 ]

7 голосов
/ 22 сентября 2010

Один из способов сделать это - использовать awk.

awk '{ printf "svn+ssh://svn.xxx.com.jo"; print }' <filename>

Если вы хотите изменить файл на месте, вы можете использовать sed с переключателем -i.

sed -i -e 's_.*_svn+ssh://svn.xxx.com.jo&_' <filename>
3 голосов
/ 11 мая 2015

Использование sed:

printf "line1\nline2\n" | sed "s/^/new text /"

Использование ex:

printf "line1\nline2\n" | ex -s +"%s/^/foo bar /e" +%p -cq! /dev/stdin

Использование vim:

printf "line1\nline2\n" | vim - -es +"%s/^/foo bar /e" +%p -cq!

Использование оболочки:

printf "line1\nline2\n" | while read line; do echo foo bar $line; done
0 голосов
/ 12 декабря 2013

Это также можно сделать с помощью Perl:

perl -pe 's#^#svn+ssh://svn.xxx.com.jo#' input.file
0 голосов
/ 22 сентября 2010

Простой способ:

sed -i 's_._svn+ssh://svn.xxx.com.jo_' <filename>
0 голосов
/ 22 сентября 2010
ruby -pne 'sub(/^/,"svn+ssh://svn.xxx.com.jo")' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...