2013-06-20 53 views
1

我有一個包含像行的文本文件:如何放置退格和單詞的單詞?

telephone xxxx 
telpassword xxxx 
telephone xxxx 
telpassword xxxx 
telephone xxxx 
telpassword xxxx 
telephone xxxx 
telpassword xxxx 
telephone xxxx 
telpassword xxxx 
telephone xxxx 
telpassword xxxx 

,我想打一個文件包含相同的數據,但在線路:

telephone xxxx telpasswordxxxx 
telephone xxxx telpasswordxxxx 
telephone xxxx telpasswordxxxx 
telephone xxxx telpasswordxxxx 
telephone xxxx telpasswordxxxx 

我想:

sed 's/telpassword/\btelpassword/g' 

但這個命令不起作用。我認爲這應該是這樣的,但我不知道如何把那裏的「退格」命令。

感謝您的幫助。

回答

2

sed one liners

sed '$!N;s/\n/ /' inputfile 

使用AWK:

awk '!(NR%2){print p " " $0}{p=$0}' filename 
+0

你好, sed命令正在工作,但我認爲我的文件有一些行是空的,你可以調整sed命令使其具有字符串「telpassword」或「telephone」嗎? –

+0

在命令前加上'grep tel |'。不要忘記添加'|'。 – devnull

0

使用內容

script.vim

set backup 
g/^telephone/ normal J 
saveas! output.txt 
q! 

ř聯合國是這樣的:

vim -u NONE -N -S script.vim infile 

這將創建一個文件output.txt的內容:

telephone xxxx telpassword xxxx 
telephone xxxx telpassword xxxx 
telephone xxxx telpassword xxxx 
telephone xxxx telpassword xxxx 
telephone xxxx telpassword xxxx 
telephone xxxx telpassword xxxx 
+0

你好Birei,我使用的是solaris 8,我沒有vim。你可以請 –

+0

你可以請調整這個腳本.sh或.ksh?謝謝 –

+0

@VulturuStefan:那些是不同的東西。使用其他答案的解決方案,'sed'或'awk'都可以。 – Birei

1

這應該工作:

awk '/tele/{printf "%s ",$0}/telp/{print $0}' inputFile 
0

用漿糊:

paste -d" " - - < filename 
相關問題