linux的vi编辑器【行号】G如何使用? (linux 行变列)

先按ESC,然后“4gg”试试吧。

一定要接ESC键进入命令输入状态,按4G就可以了。或按楼上说的按4gg.大小写注意区分。

相关问题拓展阅读:

LINUX中如何不经过排序删除文件中重复的行(相同行,只保留一个)

cat FILE_A | uniq > FILE_B

楼上 uniq必须是连续的重复才行把

用awk肯定行

这是一个cu的精华帖,差不多,对于你的问题你给稍等我修改一下。(ps感谢红袖添香大姐)

CU精华 经典回顾

#假设我有如下文件:

#cat aa

#123 def

#345 def

#123 def

#322 def

#123 def

#………………….

#现在我想把之一列中字段相同的合并,之一列不相同的则保留,合并的原则就是保留之一个出现的前两个字段,第三个字段则把结果相加,以上面的示例为例:

#

#就是对于123开头的需要合并,合并后应该成为如下:

#cat aa

#123 def

#345 def

#322 def

#请问用shell如何实现?春磨

#希望各位帮助!,谢谢!!

#要求总结:

#1 合并相同的之一列数据,并且计算第三列灶前和

#2 第二列只保留之一次出现

#3 之一列顺序不变隐森清

觉得这个问题很经典,所以从CU论坛转过来了。

请大家一起学习

我们站在巨人的肩膀上。

问题补充:

看不太懂实现可以讲一下思路吗?

a+=$3

if(length(b)==0)b=$2

我是这样做的

--------------------------2

谢谢你的补充, 已经明白了你对split的适用技巧,是用split(a,tmp)在碰到匹配的$1时取出以前的统计结然后再用$3加上以前的结果是吧,很巧妙。谢谢

但是有2个问题:

1不满足 第二列保留之一次出现记录(现在是保留最后一次出现)

2不满足 之一列按照原来文件顺序出现

看看这个

awk ‘BEING{n=0}

{

a+=$3

if(length(b)==0)b=$2

if($1 in ind)next

ind

key=$1

n++

}

END{

for(i in key)print key,b>,a>

}’ filename

#######################

#######################

#######################

这样就行了

#!/bin/bash

awk ‘BEGIN{n=0}

{

if($0 in a)next

a

>

b

=$0

n++

}

END{

for(i in b)print b

}’ data

前提是你的数据文件里面每行没有空格,如果有用-F设定一个没有的字符作分隔符就

楼上 uniq必须是连续的重复才行把

用awk肯定行

这是一个cu的精华帖,差不多,对于你的问题你给稍等我修改一下。(ps感谢红袖添香大姐)

CU精华 经典回顾

#假设我有如下文件:

#cat aa

#123 def

#345 def

#123 def

#322 def

#123 def

#………………….

#现在我想把之一列中字段相同的合并,之一列不相同的则保留,合并的原则就是保留之一个出现的前两个字段,第三个字段则把结果相加,以上面的示例为例:

#

#就是对于123开头的需要合并,合并后应该成为如下:

#cat aa

#123 def

#345 def

#322 def

#用shell如何实现?

#希望各位帮助,,谢谢,,

#要求总结:

#1 合并相同的之一列数据,并且计算第三列和

#2 第二列只保留之一次出现

#3 之一列顺序不变

觉得源毁这个问题很经典,所以从CU论坛转过来了。

请大家一起学习

我们站在巨人的肩膀上。

问题补充:

看不太懂实现可以讲一下思路吗?

a

+=$3

if(length(b)==0)b

=$2

我是这样做的

--------------------------2

谢谢你的补充, 已经明白了你对split的适用技巧,是用split(a

,tmp)在碰到匹配的$1时取出以前的统计结然后再用$3加上以前的结果是吧,很巧妙。谢谢

但是有2个问题:

1不满足 第二列保留之一次出现记录(现在是保留最后一次出现)

2不满足 之一列按照原来文件顺序出现

看看这个

awk ‘BEING{n=0}

{

a

+=$3

if(length(b)==0)b

=$2

if($1 in ind)next

ind

key

=$1

n++

}

END{

for(i in key)print key,b>,a

>

}’ filename

#######################

#######################

#######################

这样悉裂昌就行了

#,/bin/bash

awk ‘BEGIN{n=0}

{

if($0 in a)next

> a

b

=$0

n++

}

END{

for(i in b)print b

关于linux 行变列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » linux的vi编辑器【行号】G如何使用? (linux 行变列)