快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

linux中去重命令 linux中重命名命令

linux命令对某一列去重/统计

cat file.csv | awk -F '\t' '{print $2}'

创新互联专注于企业成都全网营销推广、网站重做改版、峰峰矿网站定制设计、自适应品牌网站建设、成都h5网站建设电子商务商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为峰峰矿等各大城市提供网站开发制作服务。

'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符号分割,换成其她符号;

'{print $2}'是指取第2列,此处从1开始计数,第1列,第2列;

一般去重之前要进行排序

cat file.csv | awk -F '\t' '{print $2}' | sort | uniq

前半部分与命令1一样,后面加上| sort | uniq

比如通过命令2发现,第2列取值有两种,分别是'neg'和‘pos’,那么我想知道有多少行的第2列取值为'pos',多少行的第2列取值为'neg'。

cat file.csv | awk -F '\t' '{print $2}' | grep -o 'neg'| wc -l

前半部分与命令1一样,后面加上 | grep -o 'neg'| wc -l

grep -o 'neg'就是取出取值为'neg'的行

wc -l 是计数有多少行

Linux文本操作常用命令

在Linux系统里常用于文本查看、操作、统计的命令:

通过多敲键盘,形成手感 肌肉记忆 ,熟练掌握这些命令,在以后生信分析中游刃有余。以下是每个命令的详细的介绍(主要是跟着 生信技能树小郭老师 学习做的笔记)

接下来通过示例把10个命令的常用参数和用法展示出来:

参数的用法介绍:

注意事项:

用 cat 命令可以 查看文本 ,也可以 编辑文本 ,编辑文本要加 符号,退出时,另起一行,按 control C 退出

zcat可以查看压缩的文本文件,tac逆向查看

结合 管道符| 使用

head / tail -n :查看文件的前 / 后 n 行,默认 10 行 (在R语言里head和tail默认是前6行)。

less命令用得最多 ,more命令用得比较少

3.1 less命令

less [参数] 文件名

less命令重要的补充用法1 :

需要注意 退出 :只要使用less命令, 按q键

less命令重要的补充用法2 :

参数用法:

less命令 不加参数 查看文件:

less命令加 -N参数 查看文件:显示行号

less命令加 -S参数 查看文件:单行显示,非常规整

对比:less和cat命令显示文本行号的用法:less -N,cat -n

3.2 more命令

**more ** 逐页查看,按空格翻页,按回车换行 ,more命令一般很少用,熟练掌握less命令就好

查看压缩文件

wc 统计字符是也把换行符统计进去,但是别的命令不一定会把换行符算进去,。

常见参数:

切记:用less命令,按q退出

cut命令是按关键词来切的

常见参数:

排列前:

排列后:

解释:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。

命令行查看一个表格结构时,因为制表符对齐的原因,出现一个错位的现象。还有 字典排序 可能和我们平时的认知不一样,所以 加上-n参数 , 让数值有数学意义上的大小来排序 。

uniq命令去重,只有两行出现重复,而且是相邻的两行,如果不相邻,即使出现两行一模一样,不会去重。

uniq命令通常和sort命令搭配使用

换其它文件试试

总之,uniq命令使用时经常和sort一起

常见参数:

常见用法1:

paste file1 file2

-s :按行合并 演示

常见用法2 : paste - -

常见参数:

要养成一个好习惯,原始数据不要轻易修改,修改的东西另外保存,文本保存用 (重定向)或是 (追加)

1. 用 less 查看 example.gtf ,然后管道符传递给 wc

2. 截取 example.gtf 第 9 列的内容

3. 在第2步的基础上截取分号分割的第1列

4. 在第3步的基础上排序、去重复并统计

5. 在第4步的基础上,将空格替换成制表符

补充小知识 :

清屏 :control L

查看历史(输入过的)命令 :history

利用Linux命令行进行文本按行去重并按重复次数排序

利用linux命令行进行文本按行去重并按重复次数排序linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用linux命令行进行文本按行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。用于演示的测试文件内容如下:[plain]Hello

World.

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

The

Iphone

of

Apple

company.

Hello

World.

The

Iphone

of

Apple

company.

My

name

is

Friendfish.

Hello

World.

Apple

and

Nokia.

实现命令及过程如下:[plain]1、文本行去重

(1)排序

由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文本行进行排序,使重复行集中到一起。

$

sort

test.txt

Apple

and

Nokia.

Apple

and

Nokia.

Hello

World.

Hello

World.

Hello

World.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

The

Iphone

of

Apple

company.

(2)去掉相邻的重复行

$

sort

test.txt

|

uniq

Apple

and

Nokia.

Hello

World.

I

wanna

buy

an

Apple

device.

My

name

is

Friendfish.

The

Iphone

of

Apple

company.

2、文本行去重并按重复次数排序

(1)首先,对文本行进行去重并统计重复次数(uniq命令加-c选项可以实现对重复次数进行统计。)。

$

sort

test.txt

|

uniq

-c

2

Apple

and

Nokia.

4

Hello

World.

1

I

wanna

buy

an

Apple

device.

1

My

name

is

Friendfish.

2

The

Iphone

of

Apple

company.

(2)对文本行按重复次数进行排序。

sort

-n可以识别每行开头的数字,并按其大小对文本行进行排序。默认是按升序排列,如果想要按降序要加-r选项(sort

-rn)。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

4

Hello

World.

2

The

Iphone

of

Apple

company.

2

Apple

and

Nokia.

1

My

name

is

Friendfish.

1

I

wanna

buy

an

Apple

device.

(3)每行前面的删除重复次数。

cut命令可以按列操作文本行。可以看出前面的重复次数占8个字符,因此,可以用命令cut

-c

9-

取出每行第9个及其以后的字符。

$

sort

test.txt

|

uniq

-c

|

sort

-rn

|

cut

-c

9-

Hello

World.

The

Iphone

of

Apple

company.

Apple

and

Nokia.

My

name

is

Friendfish.

I

wanna

buy

an

Apple

device.

下面附带说一下cut命令的使用,用法如下:[plain]cut

-b

list

[-n]

[file

...]

cut

-c

list

[file

...]

cut

-f

list

[-d

delim][-s][file

...]

上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);

list表示-b、-c、-f操作范围,-n常常表示具体数字;

file表示的自然是要操作的文本文件的名称;

delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;

-s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)

三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。

范围的表示方法:

n

只有第n项

n-

从第n项一直到行尾

n-m

从第n项到第m项(包括m)

-m

从一行的开始到第m项(包括m)

-

从一行的开始到结束的所有项

在写这篇文章的时候,用到了vim的大小写转化的快捷键:gu变小写,gU变大写。结合ctrl+v能够将一片文字中的字符进行大小写转换,非常好用。

Linux里面uniq -c命令作用是什么?

uniq 对排序好的内容进行去重

-c 显示输出中,在每行行首加上本行在文件中出现的次数。


当前文章:linux中去重命令 linux中重命名命令
浏览地址:http://6mz.cn/article/hpgjee.html

其他资讯