【Linux专栏】查看文件行数、输出文件中内容 - 详解

 Liunx 相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.背景

        场景:1)当linux 文件中行数特别多时,打开会非常慢,但只是想知道文件中有多少行

                   2)当从大文件中想取第几行到指定文件中,不用打开文件单独抽取第n行内容。

2. 实验 文件行数

2.1 实验:wc -l  或 cat |wc -l

对于简单的行数统计,wc -l是最直接和常用的方法。语法:wc -l 文件名

或者 cat 文件名 |wc -l

wc -l book_test.sh
cat book_test0.sh |wc -l

截图: 

book_test.sh 中有30行数据。

验证: 

vim book_test.sh
set nu

发现打开文件有31行,并非统计的30行

原因:wc -l 默认以换行符(\n)作为行结束符进行计数。若文件最后一行未以换行符结尾(例如手动输入或编辑时未保存换行),该行将不被统计。

2.2 实验:nl 方式

如果想快速查看有多少行,且要看到最后一行的内容,语法:nl 文件名|tail -n 行数

nl book_test.sh |tail -n 1
nl book_test.sh |tail -n 3

截图:

2.3 实验:grep -c 方式

grep命令用于在文件中搜索指定的模式,并输出匹配的行,语法:grep -c "" filename.txt

grep -c "" book_test.sh

2.4 实验:sed -n '$=' 方式

sed命令用于对文件进行文本处理,通过结合-n选项和$=命令,统计行,

语法:sed -n '$=' filename.txt

sed -n '$=' book_test.sh

2.5 实验:awk 'END {print NR}' 方式

awk是一种用于处理文本的强大工具,通过使用NR变量,可以统计行数,

语法:awk 'END {print NR}' filename.txt

awk 'END {print NR}' book_test.sh

3.实验 输出文件中内容 

3.1实验:sed -n 方式

sed(stream editor):强大的文本处理工具,用来处理文件的内容

     如:要输出文件的第三行到另一个文件   sed -n '3p' 文件名 > 输出文件名

-n选项告诉sed不输出任何行,3p表示打印第三行

比如查 book_test0.sh 中第10行的内容,打印到 1.sh

sed -n '8p' book_test0.sh >1.dat

执行结果:ok

3.2实验:awk 方式

awk强大的文本处理工具,也可以用来提取文件的特定行

    如:awk 'NR==3' 文件名 > 输出文件名

NR==3是一个条件,会在当前行号为3时执行默认的打印动作

awk 'NR==8' book_test0.sh >1.dat

执行截图:ok

3.3实验:head  tail 方式

虽然不是直接提取第三行,但可通过组合使用head 和 tail命令来实现

         如:head -n 3 文件名 | tail -n 1 > 输出文件名

head -n 3 文件名会输出前3行,

     tail -n 1,只输出最后一行,即第三行

head -n 8 book_test0.sh
tail -n 1 book_test0.sh
head -n 8 book_test0.sh|tail -n 1 >1.dat

执行结果截图:

4.总结

wc -l:常用的命令,用于统计文件中的行数,输出文件的行数以及文件名。

            如:wc -l filename.txt

nl:该命令会给文件中的每一行添加行号,并将结果输出到标准输出。通过查看行号的最后一个值,可以得到行数统计。 如:nl filename.txt | tail -n 1

grep -c:grep命令用于在文件中搜索指定的模式,并输出匹配的行。通过使用-c选项,可以统计匹配的行数。 如:grep -c "" filename.txt,还可以输入匹配字符,准确统计

  sed -n '$=':sed命令用于对文件进行文本处理,通过结合-n选项和$=命令,可以统计文件的行数。 示例:sed -n '$=' filename.txt

awk 'END {print NR}':awk是一种用于处理文本的强大工具,通过使用NR变量,可以统计行数。 如:awk 'END {print NR}' filename.txt

实验验证:ok 


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:“Oracle字符型,长度50”但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

posted @ 2025-12-26 20:14  gccbuaa  阅读(0)  评论(0)    收藏  举报