Linux 如何在每行开头添加文本?

Linux 如何在每行开头添加文本?,linux,command-line,file,Linux,Command Line,File,如何在每行开头添加文本 例如:-我的文件包含:- /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/rep

如何在每行开头添加文本

例如:-我的文件包含:-

/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“在该文件每行的开头

一种方法是使用
awk

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

sed -i 's_._svn+ssh://svn.xxx.com.jo_' <filename>
sed-i's+ssh://svn.xxx.com.jo_' 

也可以使用Perl完成:

perl -pe 's#^#svn+ssh://svn.xxx.com.jo#' input.file

使用
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!
使用shell:

printf "line1\nline2\n" | while read line; do echo foo bar $line; done

你需要一个shell脚本?不会呆呆地看{print“svn吗+ssh://svn.xxx.com.jo“$0}”是否更简单?
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