linux去重文件第一列,科学网—Linux实用命令 - 刘洪波的博文

1、查看系统访问日志(实时)

tail --lines=100 -f /var/log/secure

2、按列合并文件

paste file1 file2 >combind.txt

3、按行合并文件

cat file1 file2 >combind.txt

4、Linux:使用awk命令获取文本的某一行,某一列

1)、打印文件的第一列(域)                 : awk '{print $1}' filename

2)、打印文件的前两列(域)                 : awk '{print $1,$2}' filename

3)、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename

4)、打印文本文件的总行数                : awk 'END{print NR}' filename

5)、打印文本第一行                          :awk 'NR==1{print}' filename

6)、打印文本第二行第一列                :sed -n "2, 1p" filename | awk 'print $1'

7)、输出包含某个字符串的行            :awk -F: '/chr1/' filename >chr1.bed

5、替换字符

#替换ruby为bird

sed -n '/ruby/p' ab | sed 's/ruby/bird/g'

6、挂载硬盘

##先查新插入的硬盘,一般是最后一个

fdisk -l

##mount

mount -t vfat /dev/sda /mnt/usb

##若是NTFS格式,用下面命令

mount -t ntfs-3g /dev/sda /mnt/usb

7、统计文件行数

de>wc - l file1 file2de>

8、搜索含特定字符串的行并输出

使用-n的时候将只打印包含模板的行。/etc/ |  -n   root:x:::root:/root:/bin/bash

9、添加路径

以bash为例:1)打开配置文件 vi ~/.bash_profile   2)找到PATH变量 3)如将 ~/bin 目录添加到PATH中 则可以编辑文件 将PATH的值改成 PATH = $PATH;~/bin;  4)保存退出 5)使用source命令刷新加载的.bash_profile (source ~/.bash_profile)

如果是为所有用户添加的变量还可以编辑 /etc/profile 文件 方式同上。

10、查看文件夹下文件的大小

du -h --max-depth=1 work/testing

11、同步与复制

###将原pub3(现pub5)下的所有文件同步到CentOS7的pub3中

rsync -avrtopgL  --max-size  --progress /pub5/ /pub3

rsync -avrtopgL  --progress /mnt/USB/pub3/mysql /pub3/mysql

###Linux rsync实现断点续传

rsync -rP --rsh=ssh /home/oracle/TestDB/ oracle@192.168.1.173:/home/oracle/TestDB

利用cp(速度会更快一点)

cp -Rvun /media/New\ Volume/gbdb_Bei /media/SeagateBackupDrive/pub3/

cp -Rvun /media/New\ Volume/mysql /media/SeagateBackupDrive/pub3/

12、按关键词合并文件

join [options] file1 file2

http://www.cnblogs.com/mfryf/p/3402200.html

http://www.cnblogs.com/giraffe/p/3193085.html

第一:两个文件的交集,并集

前提条件:每个文件中不得有重复行

1. 取出两个文件的并集(重复的行只保留一份)

2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)

3. 删除交集,留下其他的行

1. cat file1 file2 | sort | uniq > file3

2. cat file1 file2 | sort | uniq -d > file3

3. cat file1 file2 | sort | uniq -u > file3

第二:两个文件合并

一个文件在上,一个文件在下

cat file1 file2 > file3

一个文件在左,一个文件在右

paste file1 file2 > file3

第三:一个文件去掉重复的行:

sort file |uniq

注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!

sort file |uniq -u

上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!

具体细节可以查看,cat,sort,uniq等命令的详细介绍

14、 Sort

sort -t $'\t' -k1,1 -k2,2n -V input.txt > Sorted.txt

分解:

-t $'\t'          :    tab分隔

-k1,1 -k2,2n :    按第一和第二列(数字)正序排序

-V                :    按 de >1 2 10de>排序,而不是de >1 10 2de>

http://stackoverflow.com/questions/17430470/sort-a-tab-delimited-file-based-on-column-sort-command-bash

15、如何只拷贝目录结构,不拷贝里面的文件

find -maxdepth 5 -type d-exec mkdir -p  /outfolder/\{\} \;複製目前目錄之下的所有子目錄結構,但是不包含目錄中的檔案。

將目錄結構複製到 /destination/path/you/want 之下

-maxdepth 選項設定複製子目錄的最大深度

-type d 設定只搜尋目錄名稱

http://dodgelin.blogspot.com/2011/04/linux.html

16、grep用法详解[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!--color=auto :可以将找到的关键词部分加上颜色的显示喔!http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

转载本文请联系原作者获取授权,同时请注明本文来自刘洪波科学网博客。

链接地址:http://blog.sciencenet.cn/blog-97949-1138078.html

上一篇:PHP7升级后Mysql报错的解决方案

下一篇:从一则招聘启事看生物信息研究者应掌握的十种能力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值