linux处理数据常用指令

linux处理数据常用指令

统计某字符出现的行数

## 例如,统计test.vcf文件中“-”字符出现的行数
find test.vcf | xargs cat | grep .*-.*|wc –l

删除某字符所在的行

## 例如,删除test.vcf文件中“-”字符所在的行
sed -e "/-/d" out.vcf > test_out.vcf

替换文件内固定字符

## 例如:把0|0替换为0
sed -i 's#0|0#0#g' beagleout.vcf

统计文件列数

## 统计beagleout.vcf文件中空格或Tab分隔文件列数
cat beagleout.vcf | awk 'END{print NF}'
## 逗号分隔文件统计列数
awk -F "," 'END{print NF}' all_vars.csv

两个文件的内容处理(合并)

## 将tmp文件的第一列加到cubic文件中生成tt文件
awk '{print $1}' tmp.txt | paste - cubic.txt > tt.txt

## 两个文件按列合并
paste file1 file2 > combinefile

根据一个文件内容提取另外一个文件内容

## 根据一个文件内容提取另外一个文件内容
file1——有id
file2——有id和数据
grep -wFf file1 file2 > output

提取两文件相同ID的行

## 提取两文件相同ID的行
file1:
a rs1
b rs2
c rs5
file2:
a 124 435 3432 rs1
b 232 434 123 rs2
c 3232 34545 343 rs3
d 43432 434 5454 rs5
## 要是根据file的第二列和file2的第五列相同的rs提取数据,生成的file3如下:
a 124 435 3432 rs1
b 232 434 123 rs2
d 43432 434 5454 rs5
## 使用以下命令:
awk 'NR==FNR{a[$2];next}$5 in a' file1 file2 > file3
## a[$2]以第一个文件的第二列为下标,建立数组a;
## next跳过第一个文件到第二个文件;
## $5 in a如果第二个文件第五列的ID在数值a中,则打印。

提取file1中有而在file2中没有的部分

## linux系统下两个文件file1和file2,其中file2是file1的一部分,如何提取file1中有而在file2中没有的部分
cat file1 file2 |sort|uniq -c |grep -v " 2 "|cut -d" " -f 2-
## 如果你的文件每行都是维一的可以这样处理.

Linux根据一个文件的列内容提取另一个文件的行

## Linux根据一个文件的列内容提取另一个文件的行
awk 'NR==FNR{a[$3]=$0}NR!=FNR{print a[$1]}' hang.vcf lie.txt > output.vcf

提取第一列中带有某个关键词的文件

## 提取第一列中带有某个关键词的文件
awk -F " " '{if($1~/^1/) print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10}' out.vcf > chr1.vcf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Linux常用文件编辑命令: 1. Vim:Vim是Linux中最常用的文本编辑器之一。它具有强大的功能和灵活的配置选项。要使用Vim编辑文件,可以在终端中输入以下命令: ```shell vim 文件名 ``` 然后按下i键进入插入模式,开始编辑文件。编辑完成后,按下Esc键退出插入模式,然后输入:wq保存并退出。 2. Nano:Nano是一个简单易用的文本编辑器,适合新手使用。要使用Nano编辑文件,可以在终端中输入以下命令: ```shell nano 文件名 ``` 然后开始编辑文件。编辑完成后,按下Ctrl + X,然后按下Y键保存并退出。 3. Emacs:Emacs是另一个流行的文本编辑器,它具有强大的功能和可扩展性。要使用Emacs编辑文件,可以在终端中输入以下命令: ```shell emacs 文件名 ``` 然后开始编辑文件。编辑完成后,按下Ctrl + X,然后按下Ctrl + S保存文件,按下Ctrl + X,然后按下Ctrl + C退出。 4. Sed:Sed是一个流编辑器,可以用于对文件进行替换、删除、插入等操作。要使用Sed编辑文件,可以在终端中输入以下命令: ```shell sed -i 's/旧内容/新内容/g' 文件名 ``` 其中,旧内容是要替换的内容,新内容是替换后的内容,-i选项表示直接修改文件。 5. Awk:Awk是一个强大的文本处理工具,可以用于提取、处理和格式化文本数据。要使用Awk编辑文件,可以在终端中输入以下命令: ```shell awk '{print $1}' 文件名 ``` 其中,$1表示打印第一列的内容。你可以根据需要修改命令来处理文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值