Linux管道命令
由于篇幅有限,仅仅对每个命令常用的方法进行列举
数据流重定位:
1.标准输入:代码为0,使用<或者<<
2.标准输出:代码为1,使用>或者>>
3.标准错误输出:代码为2,使用2>或者2>>
输出中,>和2>当文件不存在则创建一个新的,否则就先清空文件内容,再将数据写入。
>>和2>>当文件不存在则创建新的,否则就将内容追加到原来的文件上。
例如ll /home >test 2>&1,这是一种把错误信息和正确内容同时输入到一个文件中。
输入中:cat > test,这个可以在命令行中输入内容,且最终将结果写入到test文件中,使用ctrl+d结束。
cat >cattest < ~/test,将test的内容直接写到cattest中,
cat >cattest <<"1",代表当遇到这个字符1的时候停止输入。
[-cinv] [-A] [-B] pattern filename
参数说明:
-c : 只输出匹配的总次数
-i : 忽略大小写
-n : 仅仅显示匹配的行号,及匹配的行
-v : 反向选择,显示没有keyword的行
2,sed
space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有
改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程
[-nefr] [[n1[,n2]]
function]
参数说明:
-n : 使用安静(silent)模式,默认况下所有来自STDIN的数据都会显示在屏幕上,
-e : 直接在命令行模式上进行sed的操作编辑,主要是多点编辑,一行可以处理多个命令
-f : 直接将sed操作写在一个文件内,-f
filename 则可以执行文件内sed操作
直接修改读取的文件内容,会真正的修改原始文档
操作说明: [n1[,n2]]
function
a :新增,a后面可以接字符串,字符串会在当前的下一行出现
c :替换,c后面可以接字符串,这些字符串可以替换n1,n2之间的行
d :删除,不需接任何内容
i :插入,i后面接字符串,字符串在当前的上一行出现
p :打印,打印某个选择的数据,通常与sed
-n一起运行
s :搜索,不但可以搜索,还可以替换,如:1,20s/old/new/g
example:
world”
| sed ‘2,5c hello world’
| sed -n ‘2,5p’
‘s/replacestring/newstring/g’
3.awk
filename
操作由一人或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内。
主要有四部份:
NF : 每一行($0)拥有的字段总数
NR :当前awk所处理的是“第几行”数据
FS : 当前分隔符,默认空格键
NF}'
在awk中,后续动作都是由单引号括住的,在print中,非变量的文字部分,必须要使用双引号来定义。
awk -F":" '{ print $1 }' /etc/passwd
上例中,在调用 awk 时,使用 -F 选项来指定 ":" 作为字段分隔符
参数:
-d:后面接分隔符,与-f一起使用
-f:根据-d的分隔符将一段消息分为数段,-f表出取出第几段
-c:以字符为单位取出固定的字段范围
echo $PATH | cut -d ':' -f 3,5
echo
$PATH| cut -c 12-
5.Sort
sort主要是用来进行排序的
格式:sort[-fbMnrtuk]
[file or stdin]
参数:
-f:忽略大小写的差异,例如A与a视为编码相同;
-b:忽略最前面的空格符部分;
-M:以月份的名字来排序,例如JAN,DEC 等等的排序方法;
-n:使用『纯数字』进行排序(预设是以文字型态来排序的);
-r:反向排序;
-u:就是uniq,相同的数据中,仅出现一行代表;
-t:分隔符,预设是tab键;
-k:以那个区间(field)来进行排序的意思,
example:
cat/etc/passwd | sort -t ':' -k 3
6.Uniq
去掉重复的行,也可以理解为分组的作用。
格式:uniq[-ic]
参数:
-i:忽略大小写字符的不同;
-c:进行计数,主要就是统计相同行的数目
example:
catiplog| uniq 相同的每一个只输出一次
catiplog|uniq -c 相同的每一个只输出一次,并且在每行首加上出现的次数
7.WC
WC主要用来对与文件里的字数,行数,字符数进行有效的统计
格式:wc[-lwm]
参数:
-l:仅仅列出行数
-w:仅仅列出多少字
-m:多少个字符
example:
#列出passwd中的字数等
wcpasswd
2749 1439 passwd
输出的参数分别为:行数,字数,字符数,文件名
8split
当文件太大的时候记得来分割一下
格式:
split[-bl] file PREFIX
参数:
-b 以大小分割,b,k,m
-l 以行分割
PREFIX 代表分割后的文件名的前缀
example:
#将文件分成300KB的文件,
split-b 300k /etc/termcap tersplit
最后分割后的文件都是tersplitaa,
tersplitab,tersplitac
#将多个文件合并成一个文件
cattermcap* >>termcapback
>>是累加的数据流重定向模式
本文出自 “在云端的追梦” 博客,请务必保留此出处http://computerdragon.blog.51cto.com/6235984/1112168
Linux管道命令的更多相关文章
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- linux管道命令之head与tail
常常会遇到这样的情况: 1.我训练一个模型需要用到很多图片,这些图片都在一个文件夹下面,但是我想仅仅拷贝个一两张看一下图片的质量怎么样? 2.文件夹下有各种各样的数据,数目非常庞大,我想看一下文件夹下 ...
- linux 管道命令 小记
管道命令(pipe) 使用“|”界定符号 管道命令必须能够接收来自前一个命令的数据成为standard input才能继续处理 1.选取命令:cut, grep.分析数据,取出我们想要的. -cut ...
- linux管道命令学习(一)
继续看鸟哥私房菜,看一直很想弄懂的管道命令(pipe).第一次知道管道这个词还是在学django的时候,模板里的过滤器很像这里的管道.管道就是将输出在标准输出中的信息一次次处理最终打印在标准输出中,所 ...
- linux 管道命令 竖线 ‘ | ’
管道符号,是unix功能强大的一个地方,符号是一条竖线:"|", 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为comm ...
- Linux下的管道命令有这些:
Linux下的管道命令有这些: 选取命令:cat grep 排序命令:sort wc uniq 双向重定向:tee 字符转换命令: tr, col, join, paste, expand 切割命令: ...
- LINUX常用命令--重定向、管道篇(四)
一.Linux重定向 重定向能够实现Linux命令的输入输出与文件之间重定向,以及实现将多个命令组合起来实现更加强大的命令.这部分涉及到的比较多的命令主要有: 涉及到的比较多的命令主要有: cat:连 ...
- Linux用管道命令对文件的移动
我的问题是这样的:我有一个文件夹,里面有大约有1000个文件,然后我想把这样的一部分文件给随机分成两部分,一部分含有100张,另外一部分含有剩下的所有的文件,这个时候如果是在Linux图形界面的话直接 ...
- Linux的管道命令
Linux的管道命令 管道命令(Pipe) 管道命令用"|"来表示,管道命令需要接收前一个命令的输出来进行操作,但不能处理前一个命令的错误. //选取界面:cut,grep cut ...
- Linux 入门记录:十六、Linux 多命令协作:管道及重定向
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...
随机推荐
- Unable to tunnel through proxy. Proxy returns "HTTP/1.1 503 Service Unavailable"
背景: 某日,一正常项目迁移到新的服务器 新的服务器,需要使用代理来访问之前能直接访问的接口,加完代理之后,发现无法获取数据了 报错: org.springframework.web.client.R ...
- ansible部署jdk source /etc/profile 不起作用?
问题: ansible调用playbook远程mvn执行打包时发现执行出错,找不到JAVA_HOME.我们的exporter JAVA_HOME=/usr/java/jdk1.8.0写在/etc/pr ...
- 前端解决Long类型精度丢失的问题
问题 数据库数据: 前端得到的数据: 出现了Long类型的数据出现精度丢失问题! 原因 JS中Long最大值:9007199254740992 JAVA中Long最大值:922337203685477 ...
- idea运行java项目main方法报build failure错误的解决方法
当在使用 IntelliJ IDEA 运行 Java 项目的 main 方法时遇到 "Build Failure" 错误,这通常意味着在项目的构建过程中遇到了问题.解决这类问题通常 ...
- ScanFormer:逐层抵达目标,基于特征金字塔的指代表达理解框架 | CVPR'24
指代表达理解(REC)旨在在图像中定位由自由形式自然语言描述指定的目标对象.尽管最先进的方法取得了令人印象深刻的性能,但它们对图像进行了密集感知,包含与语言查询无关的多余视觉区域,导致额外的计算开销. ...
- SXYZ-6.28训练赛
今天上午出中考成绩,所以下午打了一场训练赛,只有两个小时,没有昨天毒瘤,但也很毒瘤(还是模拟赛好) 关于中考可以看我的中考游记 (为了保护隐私,以后都把姓名涂掉) 为什么还是倒数啊~ T1 binar ...
- 【赵渝强老师】大数据工作流引擎Oozie
一.什么是工作流? 工作流(WorkFlow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算.工作流要解决的主要问题是:为实现某 ...
- 运维管理平台OEM定制集成开发,激发IT价值
对硬件设备商而言,借助优秀的网管.运维管理平台,可以形成完整的产品解决方案,直接提升产品的形象和适用范围.同时还可以通过网管.运维管理平台,切入到外围的产品及集成领域,并在用户后续的升级改造活动中占据 ...
- android IO Prefetch源码分析
I/O Prefetcher是高通本身提供的一套优化方案,可以用在Android手机App冷启动的时候.本文基于android Q 主要分libqti-iopd.vendor.qti.hardware ...
- SCHED_RR和SCHED_FIFO的区别
SCHED_RR和SCHED_FIFO是Linux内核中用来调度进程的两种调度策略,它们有以下几点区别: 调度方式:SCHED_RR采用轮转调度方式,而SCHED_FIFO则采用先进先出调度方式. 优 ...