2014-11-02 47 views
0

我有這樣一個txt文件:如何從線替換文本在bash

Linux Mint 17 
Ubuntu 14.04 
Debian GNU/Linux 7.0 
Mageia 4 
Fedora 20 
openSUSE 13.1 
Arch Linux 
CentOS 7.0-1406 
PCLinuxOS 2014.07 
Slackware Linux 14.1 
FreeBSD 

我需要的版本號,並把它放到一個行的開頭。

回答

1

白衣awk你可以做一些這樣的:

awk '$NF~/[0-9\.]+/ {f=$NF;$NF="";$0=f FS$0}1' file 
17 Linux Mint 
14.04 Ubuntu 
7.0 Debian GNU/Linux 
4 Mageia 
20 Fedora 
13.1 openSUSE 
Arch Linux 
7.0-1406 CentOS 
2014.07 PCLinuxOS 
14.1 Slackware Linux 
FreeBSD 

如果最後一個字段包含任何數量,將其移動到前面的位置。

+0

比你非常完美! – 2014-11-02 20:36:53

+0

@FrediŠarić不客氣。當你有足夠的權利時,你可以接受答案。 – Jotne 2014-11-02 20:42:55