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 ...
随机推荐
- Mysql table 调整table的字符集和校对规则
ALTER TABLE `xxxx`.`xxx` CHARACTER SET = utf8mb4 , COLLATE = utf8mb4_0900_ai_ci ;
- C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- 关于 MemoryStream 的多次写入,模拟post请求,接收方 .net core web api无法读取到流数据,报 System.IO.IOException: Unexpected end of Stream, the content may have already be en read by another component.
主要是业务不熟害死人.记录一下.真想抽自己几个嘴巴子 先说结论,知道这个结论的下面文字都是废话: 一.new MemoryStream 的时候,如果需要分次写入,只能是像下面这样子 MemoryStr ...
- 受 LabelImg 启发的基于 web 的图像标注工具,基于 Vue 框架
受 LabelImg 启发的基于 web 的图像标注工具,基于 Vue 框架 哟,网友们好,年更鸽子终于想起了他的博客园密码.如标题所述,今天给大家带来的是一个基于 vue2 的图像标注工具.至于 ...
- ECMA Script6 中的 尾调用优化
在读 <深入理解ES6>一书中,看到有关函数的 "尾调用优化" 章节,特此记录一下 尾调用 指的是 函数作为另一个函数的最后一条语句被调用: function foo ...
- PTA甲级—树
1.树的遍历 1004 Counting Leaves (30分) 基本的数据结构--树,复习了链式前向星,bfs遍历判断即可 #include <cstdio> #include < ...
- 第16天:信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件
#CDN配置: 配置1:加速域名-需要启用加速的域名 配置2:加速区域-需要启用加速的地区 配置3:加速类型-需要启用加速的资源 #参考知识: 超级Ping:http://www.17ce.com/ ...
- Windows安装winget
打开GitHub链接地址:https://github.com/microsoft/winget-cli/releases 选择最新版本,点进去后 找到名为后缀名为 ".msixbundle ...
- Linux安装miniforge
miniforge 安装 协议条款:bsd-3-clause 支持conda和mamba命令,两者效果一样,推荐使用mamba # Setup Miniforge wget "https:/ ...
- 支付宝 APP登录 获取用户信息 PHP(转)
转载自:https://blog.csdn.net/wang78699425/article/details/78666401 支付宝 APP登录 获取用户信息 PHP(转) 支付宝APP登录服务端流 ...