2011-10-06 19 views
1

我想取一行並複製該行上的內容。在同一行上覆制行的sed腳本

E.g.

line1 
line2 
line3 
... 

我想結束了:

line1 line1 
line2 line2 
line3 line3 
.. 

我是想這樣,但是這並沒有做到這一點。

sed -e 's/^$1 $1//' FILE 

回答

2

你想

sed 's/.*/& &/' FILE 

paste -d " " FILE FILE 
+0

菊st爲了好玩,我們可以結合使用sed和paste:'sed p FILE |粘貼-d「」 - '' –

2

&是匹配的字符串,所以你要

sed -e 's/.*/&&/' ... 
1
awk '$0=$0" "$0' file 
sed 's/.*/& &/' file 
+0

''{print $ 0,$ 0}''對於awk來說可能不太適合。 –

+0

@glennjackman我不同意你的看法。 '$ 0 = $ 0「」$ 0' len = 10;但是你的'{print $ 0,$ 0}'len = 13; '13> 10 == true' – Kent

+0

錯字,我的意思是「少工作」。我沒有考慮代碼高爾夫。你的腳本必須重建$ 0,然後打印它,而我的只是打印。當然,我確信真正的差異是微乎其微 –

相關問題