Linux小操作:如何读取文件中间的部分内容

举报
芒果_Mango 发表于 2022/09/30 21:38:42 2022/09/30
【摘要】 如何读取文件中间的部分内容例子:现在file.txt文件中有1w行内容,如何读取第1001行到1010行内容知道了head和tail指令之后,我们可以把file.txt文件中的前1010行数据存入一个临时文件tmp.txt中,然后使用tail指令把tmp.txt文件的后10行进行打印输出那么如何存到临时文件中呢? 使用重定向>>:输出重定向,head -1010 file.txt > tm...

如何读取文件中间的部分内容

例子:现在file.txt文件中有1w行内容,如何读取第1001行到1010行内容

知道了head和tail指令之后,我们可以把file.txt文件中的前1010行数据存入一个临时文件tmp.txt中,然后使用tail指令把tmp.txt文件的后10行进行打印输出

那么如何存到临时文件中呢?

使用重定向>

image-20220227105049127

>:输出重定向,

head -1010 file.txt > tmp.txt

含义是:将本来应该输出到标准输出(屏幕)上的内容,输出重定向到tmp.txt文件中

如果后面的文件不存在,就会创建新文件

image-20220313143506447


image-20220313143649075


追加重定向: >>

image-20220313143804010


输入重定向<

cat后面不跟文件,默认从键盘(标准输入中)读取内容

image-20220313144203462

把文件的内容作为原始数据,传给对应的程序,让该程序处理该数据


输出重定向+管道

上面的写法有些麻烦,我们需要先创建临时文件tmp.txt,我们可以使用命令行管道进行操作

管道:传输某种资源的渠道,计算机的资源就是数据

管道的表示方式:| 4

管道左边:接受产生的数据 管道右边:读取数据

image-20220227105722690


写法:

head -1010 file.txt | tail -10

image-20220227105951911

使用管道的时候,默认隐式的发生了重定向 ,本来head默认显示到显示器中,tail本来要从其它文件读取的,现在变成从管道中读取数据


举例:(简单讲解重定向和管道)

有一个文件共有100行内容,请取出第50行内容<br>
seq 1 100 > test # 生成1100的序列装入test
方法1 head -n50 test > tmp #将前50行装入临时文件tmp
tail -n1 tmp #得到中建行
方法2 head -n50 test | tail -n1

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。