1、Linux下去掉^M的方法

  ①dos2unix filename

  ②sed -i 's/^M//g' filename

  #注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M

2、sort

功能说明:将文本文件内容进行排序

语 法:sort [-nkr]<filename>

参 数:-n/-g 将文件按数值大小从小到大排序(默认按ascii码从小到大排序)

-k <num> 按第num列内容对文件排序(默认按第一列)

-r 反向排序

Example :sort file 对file文件按第一列内容ascii码值从小到大排序并输出。

sort -n -k 3 file 对file文件按第3列内容数值大小从小到大排序。

sort -nr -k1,2 file 对file文件按数值大小反向排序,优先考虑第一列,再考虑第二列

3、uniq

功能说明:合并文件中相邻的相同的行

语 法:uniq [-cd] <file> [outfile]

参 数:-c 在每行第一列显示该行重复次数

-d 仅显示有重复的行

Example :uniq -c file 合并相同的行,并统计每行重复次数,输出到屏幕

uniq -d file outfile 合并相同的行,并显示file中有重复出现的行,输出到outfile文件中

4、awk

功能说明:对特定的行中特定的列进行操作

语 法:awk [-F] ‘(condition){operate}’ <filename>

参 数:-F 指定列的分割符,可以使任意字符,默认按空白分割

Example :awk -F “:” ‘{print $1}’ 按“:”来分割并打印出第一列

awk '/^S/{print ">""\n"}' ONTmin.gfa | fold > ONTmin_IT0.fasta   ###. ^S 以S开头的那行

  fold可以限制文件列宽

awk -F "\t" '{if($12 == 60){print $0}}' file.  输出12列等于60的所有行,¥0代表整行

awk ‘($1 > 100){print $0}’ 对第一列大于100的行整行输出

awk ‘($1 > 100){print $1”\t”$2}’ 对第一列大于100的行输出第一列和第二列的结果并以“\t”分割。

awk ‘($3~/world/){ x+= $1}END{print x}’ 对第三列匹配“world”的行的第一列求和,全部处理完之后输

出结果x的值

5、sed

功能说明:文本处理并可对文件进行编辑

语 法:sed [-i] '{command}' <filename>

参 数:-i 直接在原文件中修改(默认修改后屏幕输出,原文件不变)

Example :sed -i ‘s/test/new_word/’ file 将file文件中的test字符替换为new_word

sed -i ‘/pattern/ s/ test/new_word/’ file 将file文件中匹配pattern字串的行进行替换操作

sed -i ‘/^$/ d’ file 将文件file中的空白行删除(d)

sed -i 1d file 删除file中第一行

LInux 些许知识的更多相关文章

  1. 多线程的些许理解(平台x86,具体考虑linux,windows)

    多线程的些许理解 一.体系架构 1.原子操作 1) 定义 不可中断的一个或者一系列操作,也就是不会被线程调度机制打断的操作,在运行期间不会有任何的上下文切换(context switch). 2) 我 ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. 用python参加Kaggle的些许经验总结(收藏)

    Step1: Exploratory Data Analysis EDA,也就是对数据进行探索性的分析,一般就用到pandas和matplotlib就够了.EDA一般包括: 每个feature的意义, ...

  4. iOS安全些许经验和学习笔记

    http://bbs.pediy.com/showthread.php?t=209014 标题: [原创]iOS安全些许经验和学习笔记作者: MonkeyKey时间: 2016-03-30,16:32 ...

  5. java程序员需要掌握些什么知识

    java程序员需要掌握些什么知识 合格的程序员应具有实际开发能力的Java和J2EE.如今的IT企业需求量大,但人才紧缺的.企业需要大量掌握Java/JEE/Oracle/WebLogic/Websp ...

  6. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  7. Linux进程管理知识整理

    Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...

  8. linux磁盘设备知识

    linux分区数字编号: 1.分区数字编号1至4留给主分区或扩展分区使用,逻辑分区编号从5开始. 2.IDE硬盘设备名均以/dev/hd开头,不同硬盘编号依次是/dev/hda/./dev/hdb./ ...

  9. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

随机推荐

  1. cocos creator 重写源码按钮Button点击音频封装

    (function(){ var Super = function(){}; Super.prototype = cc.Button.prototype; //实例化原型 Super.prototyp ...

  2. 前端多选插件bootstrap-select的使用

    一.分别引入bootstrap-select.min.js和bootstrap-select.min.css文件 二.在页面中写一个class为selectpicker的select控件 <se ...

  3. 《linux就该这么学》第十二节课:第10章,Apache网站服务

    第十章 10.1.网站服务程序 (让用户能够通过网站访问服务器上的资源) 目前提供的网站服务有IIS,Nginx,Apache等,IIS是windows中默认的web服务程序. Nginx是后起之秀, ...

  4. 蓝桥杯近3年决赛题之二(16年b组)

    做的时候只做对了第一题. 1. 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里.矿车停在平直的废弃的轨道上.他的面前是两个按钮,分别写着“F”和“B”. 小明突然记起来,这两个按钮可以控制 ...

  5. python模块学习之hashlib模块学习

    # 加密模块 import hashlib # md5 加密 md5 # 1.初始化md5模块 生成md5对象 # 2.引入要加密的数据 update # 3.获取加密值 hexdigest m = ...

  6. C#基本方法(瞎写写)

    public static IEnumerable<T> GetAll<T>() where T : new() { using (var conn = new Profile ...

  7. new Date().getTime()和System.currentTimeMillis()的区别

    在Java中,new Date().getTime()和System.currentTimeMillis()都是用来获取当前时间的,并可以用DateFormat转成对应的时间格式,代码如下. impo ...

  8. Vue 组件&组件之间的通信 之 使用slot分发内容

    slot详细介绍网址:https://cn.vuejs.org/v2/api/#slot 有时候我们需要在自定义组件内书写一些内容,例如: <com-a> <h1>title& ...

  9. bzoj2839 集合计数(容斥)

    2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 883  Solved: 490[Submit][Status][Discuss] ...

  10. 关于Hibernate 连接mysql不能自动建表的问题

    最近看旧书,李刚那本<轻量级J2EE>在讲解hibernate的时候遇到一个问题,就是与mysql连接后,明明配置了自动建表,却老是建不了表,上网查了发现是方言的原因,到底什么是方言?这里 ...