linux读取一行数据命令,常用的linux命令和逐行数据处理的例子
原标题:常用的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命令和逐行数据处理的例子相关推荐
- fget函数读取一行数据,非二进制文件 -- linux
fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp) 功能:从文件流读取一行,送到缓冲区,使用时注意以下几点: 1.当遇到换行符或者缓冲区已满,fge ...
- linux读取一行数据命令,Shell脚本一次读取文件中一行的2种写法
写法一: #!/bin/bash while read line do echo $line #这里可根据实际用途变化 done < urfile 写法二: #!/bin/bash ca ...
- Linux 运维人最常用 150 个命令汇总
Linux 运维人最常用 150 个命令汇总 命令 功能说明 线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂的还有 info,但不常用. help 查看 Linux 内置命令 ...
- readline函数 读取一行数据
readline方法: 表示读取一行数据,默认从第一行开始读取 利用readline读取txt中一行数据. # 读取一行数据 file = open('3.txt', 'r', encoding=&q ...
- R语言中读取excel数据的常用方式有哪些?
R语言中读取excel数据的常用方式有哪些? 目录 R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R ...
- java编程,字符流BufferedReader,读取一行数据。finally,readLine
package onelo;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...
- 数据分析师常用的 Linux 命令总结
背景 也许你有这样的疑问,数据分析师为什么要了解Linux?这不是开发人员应该了解的吗?把Windows+SQL+Excel+Python玩的精通,不香吗? 以上的疑问也许处有人会提出,但随着个人的职 ...
- Linux:CentOS 7中常用的基础命令
对于学习Linux系统来说,命令是必须熟练掌握的第一个部分.Linux系统中的命令有600多个,但常用的基础命令并不多.虽然不同版本的Linux系统的命令稍有不同,但命令的语法与使用方法基本相同,因此 ...
- linux文件分隔符 0x01,0x01-Linux常用文件处理命令
0x01-Linux常用文件处理命令 摘要 文件可以说是占据了Linux系统半壁江山,那么,我们理所应当要认识文件,且还要懂得如何创建.查看文件(touch.cat命令).既然是使用Linux,当然是 ...
最新文章
- 二值化算法OTSU源码解析
- python 战舰_简单Python战舰
- 定长掩码地址划分与VLSM子网划分
- PHP7数字三角形代码,倒数字三角
- Spark 集群安装
- 《笨方法学PYTHON》——eighteenthlesson
- Linux软件安装包保存
- Eason Chan
- Go语言-switch case | switch中判断多个值、interface conversion: interface {} is float64, not int
- mongodb 分组获取最新一条的数据
- 什么是开发环境、测试环境、UAT环境、仿真环境、生产环境?
- idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
- 国内10大技术网站,你最爱和哪个玩耍?
- 股票风险 股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。
- 轻松玩转新编日语3 zz江沪
- 什么是BGP服务器?
- 【Leetcode】914. X of a Kind in a Deck of Cards
- Bit-Z 新年狂欢趴 场外费用全免
- STM32F103学习笔记四 时钟系统
- linux局域网语音通讯软件下载,基于Linux平台的局域网可语音的IM软件的设计与实现.doc...