原标题:常用的linux命令和逐行数据处理的例子

Linux具有开源,处理性强等优点。

并且由于生物数据量较大,对数据处理性能要求更高,

所以生物信息分析软件大多都是针对linux系统进行开发的。

在日常的生物信息分析中,

我们几乎离不开linux平台,

今天我们给您介绍的小命令你可能常常使用,

能够帮助我们简单舒适的处理手头上庞大的生物信息数据。

一,常用的小命令

cd打开文件目录

ls显示文件

ls -al |grep '^d' 显示目录ls -al |grep '^[^d]' 在一个目录中查询不包含目录的所有文件

less文件名 查看文件内容 按“q” 退出

cat文件名 打开文件,可以多次打开几个文件

cat > 2.txt (用定向符创建文件,填写内容后,按ctrl+d保存内容)

grep-参数 文件名

-i 不区分大小写

-v 显示不符合条件的所有行

-c 显示符合条件的所有行数(符合条件的数量)

mkdirmywork 建立mywork这个目录

cpfilename1 filename2 拷贝文件或目录

mv源文件或目录 目标文件或目录 移动或重命名文件cut-f ‘1,5’文件 剪切文件的第1列和第5列

head-2 文件名 显示2行

head -100 文件名 | tail -10 >>a.log 提取文件第91-100行数据

wc-参数 文件名 统计文本大小,字符多少,行数

-c 统计文本字节数

-m 统计文本字符数

-l 统计文本有多少行

sort– 参数 文件名 对文件进行排序

-n 对文件按照数字排序

-r 反向排序

uniq-参数 文件名 对文件去重,去重前需要使用排序

split-参数 文件名 对文件进行切割

-100 (每100行切割成一个文件)

-C 25m/b/k (每25兆/字节/K 分割成一个文件)

|管道符号,把上一条命令的结果传输给下一条命令

“>” 和“>> ” 重定向写入文件中

“>”相当于“w”清空并写入

“>>”相当于“a” 追加进文件

sed-i ‘s/a/b/g' 文件 将文件中的a全部替换成b

awk-F ‘分割符' Pattern {action} 文件名 使用指定的字符对每一行数据进行分段,默认是空格

-F后面跟的是分隔符

pattern 就是action执行的条件,这里可以使用正则表达式

(awk的功能太强大了,之前的公众号中也有提及过可以参考)

bashshell.sh 运行shell.sh脚本

dos2unix文件

将Windows——>linux

(由于Windows和Linux下的换行符不同,所以我们在Windows下面下的代码需要使用dos2unix 转换成Linux下的换行符,否则运行shell脚本会报错)

unix2dos文件 将 linux——>Windows

rmxx.txt 删除xx.txt文件

rm -rf 删除所有文件目录和目录下的所有文件,谨慎使用。

二,逐行处理

我们经常需要对文体文件进行逐行处理,那么在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理呢.给大家介绍以下三种方法:

1.通过read命令完成.最简便

read命令接收标准输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中.

利用read读取文件时,每次调用read命令都会读取文件中的"一行"文本.

当文件没有可读的行时,read命令将以非零状态退出.

1cat data.dat | while read line

2do

3echo "File:${line}"

4done

5

6while read line

7do

8echo "File:${line}"

9done < data.dat

2.使用awk命令完成,最强大

利用awk读取文件中的每行数据,并且可以对每行数据做一些处理,还可以单独处理每行数据里的每列数据.

1cat data.dat | awk '{print $0}'

2cat data.dat | awk 'for(i=2;i

第1行代码输出data.dat里的每行数据,第2代码输出每行中从第2列之后的数据.

如果是单纯的数据或文本文件的按行读取和显示的话,使用awk命令比较方便.

3.使用for var in file 命令完成

for var in file 表示变量var在file中循环取值.取值的分隔符由$IFS确定.

1for line in $(cat data.dat)

2do

3echo "File:${line}"

4done

5

6for line in `cat data.dat`

7do

8echo "File:${line}"

9done

如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.

如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.

可以通过把IFS设置为换行符来达到逐行读取的功能.

注意,IFS的默认值为:空白(包括:空格,制表符,换行符)

从生物信息的从业者的角度看,我们更关注数据分析,linux命令行操作系统是必须要掌握的技能,掌握了以上介绍的小命令和逐行处理的方法,对于数据处理是不是更得心应手了呢?还有多的处理技巧等着你去总结掌握!返回搜狐,查看更多

责任编辑:

linux读取一行数据命令,常用的linux命令和逐行数据处理的例子相关推荐

  1. fget函数读取一行数据,非二进制文件 -- linux

    fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp) 功能:从文件流读取一行,送到缓冲区,使用时注意以下几点: 1.当遇到换行符或者缓冲区已满,fge ...

  2. linux读取一行数据命令,Shell脚本一次读取文件中一行的2种写法

    写法一: #!/bin/bash while read line do echo $line     #这里可根据实际用途变化 done < urfile 写法二: #!/bin/bash ca ...

  3. Linux 运维人最常用 150 个命令汇总

    Linux 运维人最常用 150 个命令汇总 命令 功能说明 线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂的还有 info,但不常用. help 查看 Linux 内置命令 ...

  4. readline函数 读取一行数据

    readline方法: 表示读取一行数据,默认从第一行开始读取 利用readline读取txt中一行数据. # 读取一行数据 file = open('3.txt', 'r', encoding=&q ...

  5. R语言中读取excel数据的常用方式有哪些?

    R语言中读取excel数据的常用方式有哪些? 目录 R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R ...

  6. java编程,字符流BufferedReader,读取一行数据。finally,readLine

    package onelo;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...

  7. 数据分析师常用的 Linux 命令总结

    背景 也许你有这样的疑问,数据分析师为什么要了解Linux?这不是开发人员应该了解的吗?把Windows+SQL+Excel+Python玩的精通,不香吗? 以上的疑问也许处有人会提出,但随着个人的职 ...

  8. Linux:CentOS 7中常用的基础命令

    对于学习Linux系统来说,命令是必须熟练掌握的第一个部分.Linux系统中的命令有600多个,但常用的基础命令并不多.虽然不同版本的Linux系统的命令稍有不同,但命令的语法与使用方法基本相同,因此 ...

  9. linux文件分隔符 0x01,0x01-Linux常用文件处理命令

    0x01-Linux常用文件处理命令 摘要 文件可以说是占据了Linux系统半壁江山,那么,我们理所应当要认识文件,且还要懂得如何创建.查看文件(touch.cat命令).既然是使用Linux,当然是 ...

最新文章

  1. 二值化算法OTSU源码解析
  2. python 战舰_简单Python战舰
  3. 定长掩码地址划分与VLSM子网划分
  4. PHP7数字三角形代码,倒数字三角
  5. Spark 集群安装
  6. 《笨方法学PYTHON》——eighteenthlesson
  7. Linux软件安装包保存
  8. Eason Chan
  9. Go语言-switch case | switch中判断多个值、interface conversion: interface {} is float64, not int
  10. mongodb 分组获取最新一条的数据
  11. 什么是开发环境、测试环境、UAT环境、仿真环境、生产环境?
  12. idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
  13. 国内10大技术网站,你最爱和哪个玩耍?
  14. 股票风险 股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。
  15. 轻松玩转新编日语3 zz江沪
  16. 什么是BGP服务器?
  17. 【Leetcode】914. X of a Kind in a Deck of Cards
  18. Bit-Z 新年狂欢趴 场外费用全免
  19. STM32F103学习笔记四 时钟系统
  20. linux局域网语音通讯软件下载,基于Linux平台的局域网可语音的IM软件的设计与实现.doc...

热门文章

  1. 项目知识学习篇———PostgreSQL数据库
  2. 项目微管理24 - 横向
  3. folly教程系列之:future/promise
  4. 2016-5-31 项目结构调整
  5. 编程算法 - 最小的k个数 红黑树 代码(C++)
  6. 在Orderby子句中使用CASE 语句
  7. django返回json格式的数据的方法
  8. ubuntu上 grafana + influxdb + telegraf 安装配置
  9. 触发器中的 临时表 old 与 new
  10. Spring MVC中@ControllerAdvice注解实现全局异常拦截