|
蓝森林 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"了!所以我的输出结果的前面有一个空行!不知道对不对!
嘻嘻!!:) |
| |