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 ...
随机推荐
- 图解Zabbix设置邮件报警
Zabbix设置邮件告警 前提条件: Zabbix Server 和 Zabbix Agent都已安装完毕,并已启动 1.添加主机 2.配置邮件告警,这里以VSFTP服务为例 yum in ...
- Https通信的SSL证书工作流程原理(转)
前言 浏览器与服务器之间的https加密通信会包括以下一些概念:非对称加密.对称加密.RSA.证书申请.根证书.https证书加密,就是在传输层tcp和应用层http之间加了一层ssl层来对传输内容进 ...
- 【YashanDB知识库】update/delete未选中行时,v$transaction视图没有事务,alter超时问题
问题现象 1.alter table修改表字段名,卡住,超时. 2.查看v$transaction事务视图,没有看到事务记录. 3.问题单:调整表结构时超时 问题风险及影响 无风险 问题影响版本 客户 ...
- git 乱操作
https://www.cnblogs.com/qybk/p/10880901.html 错误提示一样,只是我是在我自己的分支(xxx_dev)里.所以以下要改一下. git pull origin ...
- sharepoint 打开rdl报表,报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的
最近在做reporting services报表的时候,部署到sharepoint后,打开rdl报表,经常遇到一个问题: 报表服务器数据库内出错.此错误可能是因连接失败.超时或数据库中磁盘空间不足而导 ...
- 解密Prompt系列38.多Agent路由策略
常见的多智能体框架有几类,有智能体相互沟通配合一起完成任务的例如ChatDev,CAMEL等协作模式, 还有就是一个智能体负责一类任务,通过选择最合适的智能体来完成任务的路由模式,当然还有一些多智能体 ...
- 痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.3.0)发布过去一年了,期间痞子衡也做过三个版本更新,但不足以单独介绍.这一次痞子衡为大家带来了全新重要版本v6. ...
- 【赵渝强老师】MySQL高可用架构:MHA
MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 master 节 ...
- XYD1006CSPS
T1 密钥 [关键结论,模拟,枚举] Description 给定两个长度为 \(n\) 的 \(01\) 序列 \(a\),\(b\),每个位置都有一个权值 \(c\), 每次操作可以将 \(a\) ...
- eBPF 概述:第 1 部分:介绍
1. 前言 有兴趣了解更多关于 eBPF 技术的底层细节?那么请继续移步,我们将深入研究 eBPF 的底层细节,从其虚拟机机制和工具,到在远程资源受限的嵌入式设备上运行跟踪. 注意:本系列博客文章将集 ...