1. cut [选项] 文件名

-f  列号  #提取第几列(分隔符默认为\t)

-d  分隔符  #指定分隔符

例如:cut -f 2 a.txt  #截取文件a.txt内容的第二列(列号从1开始)

   cut -f 2,4 a.txt  #截取文件a.txt内容的第二列和第四列

   cut -d  ":"  -f 1,3 /etc/passwd  #截取文件passwd文件的第1列和第三列,以:分割取其中的第一列和第三列

2. printf '输出类型 输出格式'  输出内容

输出类型:

%ns  输出字符串,n是数字,指代输出几个字符

%ni  输出整数。n是数字,指代输出几个数字

%m.nf  位数和小数位数。例如:%8.2f 代表输出8位数,其中2位是小数,6位是整数

输出格式:

\a  输出警告声音

\b  输出退格键,也就是BackSpace键

\f  消除屏幕

\n  换行

\r  回撤

\t  水平制表符

\v  垂直制表符

举例:

printf '%s %s %s\n' 1 2 3 4 5 6  #表示每三个位一组输出,并加换行符

printf '%s\t%s\t%s\t' $(cat a.txt)  #表示以4列的形式输出

3. awk '条件1{动作1}条件2{动作2}...' 文件名

awk '{printf $2 "\t" $6 "\n"}' a.txt  #输出文件a.txt的第二列和第6列

4. sed [选项] '[动作]' 文件名  #说明:动作必须用引号引起来

选项:

-n  一般sed命令会把所有数据都输出到屏幕。如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。

-e  允许对输入数据应用多条sed命令编辑

-i  用sed的修改结果直接修改读取的数据的文件,而不是修改屏幕输出

动作:

a\  追加,在当前行后添加一行或多行。添加多行时除最后一行外,每行末尾需要用"\"代表数据未完结。

c\  行替换,用c后面的字符替换原数据行,替换多行时除最后一行外,每行末尾需要用"\"代表数据未完结。

i\  插入,在当前插入一行或多行,插入多行时,除最后一行外每行末尾需用"\"代表数据未完结。

d  删除,删除指定的行

p  打印,输出指定的行

s  字符串替换,用一个字符串替换另外一个字符串。格式为"行范围 s/旧字符串/新字符串/g"

sed可以接收管道符的输出结果

举例:

sed '2p' a.txt  #输出第2行后,又把所有内容输出一遍

sed -n '2p' a.txt  #只输出第二行

sed '2,4d' a.txt  #删除第2到4行,只删除屏幕输出,不会更改文件本身的内容

sed '2a hello' a.txt  #在第二行插入一行 hello

sed '2i hello' \

  word' a.txt  #在第二行前插入多行 hello 一行 word一行

sed '2c no person' a.txt  #用no person 替换第二行

sed '4s/99/55/g' a.txt  #把第4行的99替换为55

sed -i '4s/99/55/g' a.txt  #把第4行的99替换为55,修改的是原文件而不是屏幕输出

sed -i 's/99/55/g' a.txt  #s前不加行号时表示替换整个文件中匹配的字符串

sed -e 's/Liming//g;s/Gao//g' a.txt  #-e表示允许多个条件执行,把Liming替换为空,把Gao替换为空

5. sort [选项] 文件名  #排序

选项:

-f  忽略大小写

-n  以数值型进行排序,默认使用字符串型排序

-r  反向排序

-t  指定分隔符,默认分隔符是制表符

-k n[,m]  按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)

6. wc [选项] 文件名  #统计

选项:

-l  只统计行数

-w  只统计单词数

-m  只统计字符数

Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc的更多相关文章

  1. [Shell]字符截取命令:cut, printf, awk, sed

    ------------------------------------------------------------------------------------------- [cut命令] ...

  2. cut printf awk sed grep笔记

    名称 作用 参数 实例 cut 截取某列,可指定分隔 -f 列号 -d 分隔符 cut -d ":" -f 1, 3 /etc/passwd 截取第一列和第三列 printf pr ...

  3. Linux字符串截取命令

    一.简单截取 假设有变量 var=http://www.google.com/test.htm 1. # 号截取,删除左边字符,保留右边字符.echo ${var#*//}其中 var 是变量名,#  ...

  4. Linux查找命令:grep,awk,sed

    grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...

  5. 字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed

    cut 选项 文件名 -f 列号 提取第几列 -d 分隔符 指定分隔符把行分成多列 不能以空格为分隔符. [root@localhost ~]# cat testfile no. name sex s ...

  6. 【Shell】shell截取字符串方式(cut、awk、sed命令)

    1.cut -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志.-c :以字符为单位进行分割. -d:自定义分隔符,默认为制表符. -f:与-d一起使用,指定显示 ...

  7. Linux 的shell 字符串截取很有用。有八种方法。

    一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1  # 号截取,删除左边字符,保留右边字符. echo ${va ...

  8. linux的string操作(字符串截取,长度计算)

    按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ...

  9. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

    在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...

随机推荐

  1. Servlet--表单、超链接、转发、重定向4种情况的路径

    Servlet中相对路径总结 假设web工程使用如下目录结构: 在介绍相对路径和绝对路径前需要先了解几个概念: 服务器的站点根目录:以tomcat服务器为例,tomcat服务器站点根目录就是apach ...

  2. Cacti:添加监控磁盘IO

    来自:http://blog.sina.com.cn/s/blog_61c07ac50101gkzp.html 1.检查net-snmp是否支持IO监控 snmpwalk -v 1 -c public ...

  3. ArcSDE安装步骤及问题

    ArcSDE安装步骤及问题 自己在安装ArcSDE的时候遇到了一些问题,现在将详细的安装过程和遇到的问题记在这里,以备以后使用. 1. 安装Oracle: 2. 安装ArcSdeOracle10g: ...

  4. 我现在的vimrc配置文件

    runtime! debian.vim "设置编码 set encoding=utf- set fencs=utf-,ucs-bom,shift-jis,gb18030,gbk,gb2312 ...

  5. Macbook下virtualenv无法使用解决办法

    Mac下删除自己安装的Python 删除Python框架sudo rm -rf /Library/Frameworks/Python.framework/Versions 删除Python程序sudo ...

  6. c++程序设计之编程思想

    代码块愈小,代码的功能就愈容易管理,代码的处理和移动就愈轻松. 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员. 绝大多数情况下,函数应该放在它所使用的数据的所 ...

  7. 多态与异常处理ppt作业

    1.请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. 答:1.抛出异常 当程序发生异常时,产生一个异常事件,生成一个异常对象,并把 ...

  8. [原创]纯JS实现网页中多选复选框checkbox和单选radio的美化效果

    图片素材: 最终效果图: <html><title> 纯JS实现网页中多选复选框checkbox和单选radio的美化效果</title><head>& ...

  9. Winform 中DataGridView控件添加行标题

    有很多种方法. 1.可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value) /// <summary> / ...

  10. SNS网站成功原因剖析_完结

    SNS网站成功原因剖析 前言 亿注册用户)为例,讨论下 Fackbook成功的原因,进而分析结合国内环境,讨论当前国内流行的 SNS网站成功失败要素. 一.Facebook (一) Facebook总 ...