2014-11-02 100 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