2010-09-22 33 views
5

cách tôi có thể thêm Thêm văn bản ở đầu mỗi dòng?cách tôi có thể thêm Thêm văn bản ở đầu mỗi dòng?

ví dụ: - tôi có tập tin bao gồm: -

/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 

tôi muốn nó trở thành: -

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 

nói cách khác tôi muốn thêm "svn + ssh: // svn .xxx.com.jo "ở đầu mỗi dòng của tệp này

+0

bạn cần một kịch bản shell? – zengr

Trả lời

5

Một cách để thực hiện việc này là sử dụng awk.

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

Nếu bạn muốn thay đổi các tập tin tại chỗ, bạn có thể sử dụng sed với -i switch.

sed -i -e 's_.*_svn+ssh://svn.xxx.com.jo&_' <filename> 
+0

Sẽ không gawk '{print' svn + ssh: //svn.xxx.com.jo "$ 0} ' đơn giản hơn? –

0
ruby -pne 'sub(/^/,"svn+ssh://svn.xxx.com.jo")' file 
0

Cách đơn giản:

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

Nó cũng có thể được thực hiện với Perl:

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

Sử dụng sed:

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

Sử dụng ex:

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

Sử dụng vim:

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

Sử dụng vỏ:

printf "line1\nline2\n" | while read line; do echo foo bar $line; done 
Các vấn đề liên quan