蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年6月26日 11:18


(NEW!)还是行变列的问题!头疼

和前帖有些区别

需要将文件1 变为 文件2的形式

文件1

[code]10463
CLOSED
FIXED
10477
STARTED
10524
CLOSED
FIXED
10535
CLOSED
FIXED
10536
CLOSED
INVALID
10564
CLOSED
FIXED
10693
NEW
10740
CLOSED
FIXED[/code]

文件2

[code]10463 CLOSED FIXED
10477 STARTED
10524 CLOSED FIXED
10535 CLOSED FIXED
10536 CLOSED INVALID
10564 CLOSED FIXED
10693 NEW
10740 CLOSED FIXED[/code]

和前萜有些区别,增加难度了,有办法吗?多谢各位

(NEW!)还是行变列的问题!头疼

可以以此类推嘛:
[code]xargs -n3 <file

or

sed 'N;N;s/\n/ /' file[/code]

(NEW!)还是行变列的问题!头疼

sorry,没仔细看*^_^*

(NEW!)还是行变列的问题!头疼

是啊,数字后面有的是一行,有的是两行。

(NEW!)还是行变列的问题!头疼

[code]$cat file|tr '\n' ' '|awk '{gsub(/([0-9])+/,"\n&");print}'
10463  CLOSED  FIXED
10477  STARTED
10524  CLOSED  FIXED
10535  CLOSED  FIXED
10536  CLOSED  INVALID
10564  CLOSED  FIXED
10693  NEW
10740  CLOSED  FIXED

[/code]

(NEW!)还是行变列的问题!头疼

五体投地,真乃神人

(NEW!)还是行变列的问题!头疼

MM你太快了,等等我,
[code]cat file|xargs|sed 's/ [0-9]/@&/g'|tr -s '@' '\n'|sed 's/^ //'[/code]

(NEW!)还是行变列的问题!头疼

哈哈

(NEW!)还是行变列的问题!头疼

[code]$cat file|while read i;do
>echo -n "$i ";done|sed 's/[0-9]\{1,\}/\
>&/g';echo

10463 CLOSED FIXED
10477 STARTED
10524 CLOSED FIXED
10535 CLOSED FIXED
10536 CLOSED INVALID
10564 CLOSED FIXED
10693 NEW
10740 CLOSED FIXED[/code]

(NEW!)还是行变列的问题!头疼

(NEW!)还是行变列的问题!头疼

-->
awk里的gsub函数和sub函数都用于对匹配模式的替换!
awk '{sub(/模式/,"想要得到的字符");print}'
如:
$echo abc|awk '{sub(/a/,"A");print}'
Abc
$echo abca|awk '{sub(/a/,"A");print}'
Abca
$echo abca|awk '{gsub(/a/,"A");print}'
AbcA

(NEW!)还是行变列的问题!头疼

明白了,g有一点全局的味道,谢谢!
而"\n&"就是在前面所匹配的(\d+)之前加"\n"了!所以我的输出结果的前面有一个空行!不知道对不对!
嘻嘻!!:)



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com