linux查看文件内容行数,Linux 中如何查看文件的行数,字数,字节数
在 Linux 系统使用中,我们经常需要查看或统计文本文件中的行数,字数,字节数等内容,那么怎么快捷的统计出文件中这些关键数据呢。
在Linux系统中这统计非常方便,只需要简单的几个命令就可以搞定,这个命令就是 wc。
首先我们介绍下 wc 这个命令:
wc --help
用法:wc [选项]... [文件]...
或:wc [选项]... --files0-from=F
输出每个指定文件的行数、单词计数和字节数,如果指定了
多于一个文件,继续给出所有相关数据的总计。如果没有指定
文件,或者文件为"-",则从标准输入读取数据。
-c, --bytes 输出字节数统计
-m, --chars 输出字符数统计
-l, --lines 输出行数统计
--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
帮助说明中简介明白的介绍了wc的用法,我们来举例说明下:
1、获取文件中行数
wc -l app.log
输出
455452 app.log
2、获取文件中单词数
wc -w app.log
输出
4855263 app.log
3、获取文件中字节
wc -c app.log
输出
95169019 app.log
是不是很简单呢。
查询文件的行数或字数只是个简单的需求场景,有时候我们其实是要获取多少匹配关键字的行数,那么这种情况如何实现呢,这种情况我们需要使用另外一个grep命令来配置wc来完成我们的需求场景。
首先我们看看grep这个命令:
grep --help
用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c
正则表达式选择与解释:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。
-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)
-P, --perl-regexp PATTERN 是一个 Perl 正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version print version information and exit
--help display this help and exit
--mmap ignored for backwards compatibility
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the filename for each match
-h, --no-filename suppress the prefixing filename on output
--label=LABEL print LABEL as filename for standard input
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
TYPE is `binary', `text', or `without-match'
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is `read', `recurse', or `skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is `read' or `skip'
-R, -r, --recursive equivalent to --directories=recurse
--include=FILE_PATTERN search only files that match FILE_PATTERN
--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
Context control:
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
--color[=WHEN],
--colour[=WHEN] use markers to highlight the matching strings;
WHEN is `always', `never', or `auto'
-U, --binary do not strip CR characters at EOL (MSDOS)
-u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
直接使用‘egrep’或是‘fgrep’均已不可行了。
不带 FILE 参数,或是 FILE 为 -,将读取标准输入。如果少于两个 FILE 参数
就要默认使用 -h 参数。如果选中任意一行,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。
我们通过如下命令方式来实现查询匹配到关键字'error'中文件行数。
grep 'error' app.log |wc -l
是不是很简单,如果希望了解更多,不妨通过man命令来查看你想了解的命令吧。
linux查看文件内容行数,Linux 中如何查看文件的行数,字数,字节数相关推荐
- linux shell 读取csv文件内容,在Shell脚本中读取CSV文件,直到没有标题的行结束
我有一个名为'readfile.csv'的文件,其中包含以下内容. Name Id VAl Number IP James,007,$500,111-111-111,111-000-000 Bond, ...
- linux c 追加写文件内容,如何在C中追加到文件,在Linux上使用O_APPEND模式打开?
这是家庭作业的一部分.好吧,我的作业无法正常工作,所以我已经把一个片段拿出来并开始用它来弄清楚什么是错的. 在C语言的Linux上我试图打开/创建一个文本文件,给它写一些东西,关闭它,在读/写和追加模 ...
- linux的子进程和父进程,[Linux进程]在父进程和子进程中分别对文件进行操作
[Linux进程]在父进程和子进程中分别对文件进行操作 发布时间:2020-04-10 19:36:49 来源:51CTO 阅读:917 作者:银河星君 /*子进程和父进程同时对一个文件进行写操作导致 ...
- bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...
如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...
- Linux 中的五种查看文件内容的命令 and 三种搜索文件的命令
一.查看文件内容的命令 1.head 命令 作用:查看文件的头部内容 使用:head [参数] 文件名 参数:-n,-c 案例:查看 yzc 的文件的前5行内容 查看 yzc 的文件的前5个字母 he ...
- linux怎么查看一个bam文件,生信分析过程中这些常见文件的格式以及查看方式你都知道吗?...
原标题:生信分析过程中这些常见文件的格式以及查看方式你都知道吗? 生信分析过程中,会与很多不同格式的文件打交道,除了原始测序数据 fastq 之外,还需要准备基因组文件 fasta 格式和基因注释文件 ...
- linux 读取zip文件内容,如何从linux服务器上的大(30Gb)zip文件中提取文件
1)从大型zip文件中提取 我想从linux服务器上的大型zip文件(30Gb)中提取文件.有足够的可用磁盘空间. 我试过jar xf dataset.zip.但是,按钮已满,出现错误,无法提取所有文 ...
- linux查看php执行用户,在浏览器中打开php文件时,是Linux中的哪个用户执行的?...
如题,这样我就可以针对这个用户设置权限了.而且这个用户是怎么关联上的,怎么查看? 回复内容: 如题,这样我就可以针对这个用户设置权限了.而且这个用户是怎么关联上的,怎么查看? 是执行 PHP 指令的那 ...
- matlab中读文件的行数_Matlab中读取txt文件的几种方法
Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...
最新文章
- 【PDF下载】无意中发现的另一本 统计学入门好书
- Ipython 和 python 的区别
- plc和pc串口通讯接线_Plc与pc串口调试手册
- 窗体之间传值的暴力方法
- java的xml面试题_Java程序员的10个XML面试问答
- 帝国CMS7.2仿极客网互联网自媒体门户模板
- mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
- 【iCore4 双核心板_ARM】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
- BAT监视360进程.txt
- 苹果xsmax怎么开机_苹果XS/xs max按钮浮标怎么设置?
- android studio实现ar,在Android Studio上运行EasyAR
- openstack镜像格式转换
- VMWare安装Deepin系统
- 万用表的灵活使用,不仅只有基本使用方法!
- OpenWRT下使用dnspod解析动态域名
- 正则表达式——(2) 匹配、切割、替换、获取
- 群晖NAS用户和用户组权限讲解
- Android基于讯飞AIUI的聊天Demo
- 微软宣布Azure DNS全面通用
- CString、CTime和COleDateTime转换