2015-09-04 107 views
0

我現在正在學習linux命令行,這個問題在我的腦子裏已經將近一個星期了,但是我仍然覺得我還沒有找到最佳解決方案,接下來的問題是:我的文件格式不好每行一個字:linux終端文本操作

SUSE 

FEDORA 

SUSE 

UBUNTU 

FEDORA 


10.2 

10 

11.0 

8.04 

8 
10.3 

6.10 

2006-12-07 

2008-11-25 

2008-06-19 

2008-04-24 

2007-11-08 

2007-10-04 

2006-10-26 

2007-05-31 

2007-10-18 

當你看到那些與版本和發行版的Linux發行版日期正確格式是未來:

2008-11-25 SUSE 10.2 

2008-06-19 FEDORA 10 

2008-04-24 SUSE 11.0 
... 

我相信一定會有排序這個權利很簡單的辦法,我的意思是用一行命令,而不是保存在其他文件中,然後再保存e在其他文件中。

+1

如果'SUSE'爲'2008-11-25',那麼'2006-12-07'屬於誰?你可以使用'wc -l','split'和'paste',但是行數必須合理。 –

+2

您的關鍵字,日期和版本計數不匹配。如果你發佈一個現實的樣本,也許更多的人可以幫助你。 – karakfa

回答

1

我從你的項目數量匹配的發佈

SUSE 
FEDORA 
SUSE 
UBUNTU 
FEDORA 
10.2 
10 
11.0 
8.04 
8 10.3 
2006-12-07 
2008-11-25 
2008-06-19 
2008-04-24 
2007-11-08 

此腳本將轉換成3列和重新排列領域

pr -3t filename | awk '{print $3,$1,$2}' 

2006-12-07 SUSE 10.2 
2008-11-25 FEDORA 10 
2008-06-19 SUSE 11.0 
2008-04-24 UBUNTU 8.04 
10.3 FEDORA 8 
+0

謝謝!這是我認爲會有的確切解決方案。 – valkiara

0

您可以運行vi filename,然後執行:克/^$/d爲換行符。

然後對於定位,您可以使用Ctrl-v和y進行復制。您可能需要爲版本的最後一行添加空格,以便您可以將所有內容以可視塊模式複製。然後你可以使用Shift-p粘貼一個塊。

+0

謝謝!但我認爲沒有vim的答案更好。 – valkiara