2010-09-22 17 views
5

मैं प्रत्येक पंक्ति की शुरुआत में टेक्स्ट जोड़ें कैसे जोड़ सकता हूं?मैं प्रत्येक पंक्ति की शुरुआत में टेक्स्ट जोड़ें कैसे जोड़ सकता हूं?

उदाहरण के लिए

: - मैं फ़ाइल है होते हैं: -

/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 "इस फ़ाइल की प्रत्येक पंक्ति की शुरुआत में

+0

आप एक खोल स्क्रिप्ट की ज़रूरत है? – zengr

उत्तर

5

ऐसा करने का एक तरीका awk का उपयोग करना है।

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

आप जगह में फ़ाइल को संशोधित करना चाहते हैं, तो आप -i स्विच के साथ sed उपयोग कर सकते हैं।

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

'{print "svn + ssh: //svn.xxx.com.jo" $ 0}' आसान नहीं होगा? –

0

सरल तरीका:

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

यह भी पर्ल के साथ किया जा सकता है:

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

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 
संबंधित मुद्दे

 संबंधित मुद्दे