Linux文件查看,管道符,grep,正则

Linux---文本处理命令(grep、wc、管道符 |) grep 命令是用来在每一个文件或中(或特定输出上)搜索特定的模式,当使用 grep 时,包含指定。字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用 grep 命令并不改变文件中的内。grep命令能够在一个或多个文件中,搜索某一特定的字符模式(也就是正则表达式),此模式可以。格式:[root@localhost ~]# grep [选项] 模式 文件名。模式:要么是字符(串),要么是正则表达式。是单一的字符、字符串、单词或句子。 阅读详情
  1. 知识点:文件查看命令 cat/less/tail/head;管道符 | 的用法;grep 文本过滤、正则基础

  2. 实操:新建一段模拟日志,用grep筛选所有error行,tail -f实时跟踪日志

  3. 面试题:线上怎么快速在日志里查找报错信息? 标准答案:使用grep -i error xxx.log过滤,配合tail实时查看,还可以结合管道做多次筛选。

文件查看命令cat/less/tail/head

cat:

  • 查看文件内容        cat 文件名
  • 合并多个文件        cat 文件a 文件b > 文件c
  • 创建小文件           cat > 文件a   输入内容后 按ctrl + D 保存并退出
  • 向文件追加 / 覆盖内容 cat >> 文件a   不覆盖

less: 分页阅读

按键功能
空格下一页
b上一页
回车下一行
上 / 下箭头上下滚动一行
/ 关键词向下搜索,n 下一个,N 上一个
? 关键词向上搜索
G跳到文件末尾
1G跳到文件开头
q退出 less
=显示当前行号、文件信息

head:查看文件头部前N行
默认输出前十行

可以用-n参数指定行数

tail:查看文件尾部N行(查日志必备)

默认十行,可用参数-n,还可以用-f 实时跟踪

管道符用法

就是把上一条命令的输出,当作下一条命令的输入

[root@ServerA-one ~]# tail -100 /var/log/messages | less
查看日志尾部100行并分页查看

[root@ServerA-one ~]# tail -f /var/log/messages | grep error
实时跟踪日志错误

grep实操(日志排查最常用)
  1. 基础匹配

    grep "error" app.log    ----    # 包含 error 的行
    ​
    grep -i "error" app.log ----    # 忽略大小写 ERROR Error error
  2. 反向过滤(排除)

    grep -v "info" app.log  ----    # 保留不含 info 的行
  3. 多关键词匹配

    grep -E "error|warn" app.log    ----    # 匹配 error 或 warn,通过管道符可以添加更多关键词
  4. 看报错上下文(必用)

    grep -A3 -B3 "Exception" app.log    ----    # 匹配行 上下各3行
  5. 递归搜整个目录日志

    grep -ri "root" /var/log/   ----    # 在 /var/log 下所有文件搜 root
  6. 统计匹配行数

    grep -c "error" app.log

正则基础

基本正则表达式

常见元字符

^以某个字符开头
$以某个字符结尾
.匹配任意单字符
*对前一项进行0次或者多次重复匹配
{m,n}将前一项字符重复m-n次
[]对方括号内的单字符进行匹配
[^]不匹配方括号内的单字符
^[]匹配以某个字符开头的行
()定义一个子表达式
词首【\<或\b】和词尾锚定【\>或者\b】其后面的任意字符必须作为单词首部出现;其前面的任意字符必须作为单词尾部出现
\转义字符,让一些特殊符号失效

Linux grep grep常见用法 阅读详情

相关推荐

全志V3S开发板实战:从零构建嵌入式Linux系统

本文提供了一份针对全志V3S开发板(如LicheePi Zero)的零基础教程,详细指导如何从零开始构建嵌入式Linux系统。内容涵盖编译环境搭建、交叉工具链配置、U-Boot引导程序编译与烧录、Linux内核定制与编译,以及使用Buildroot构建根文件系统,最终实现系统成功启动,帮助开发者深入理解嵌入式系统构建全流程。

tensor9flow的博客 575

Linux》》管道符 | 、grep 、;、&&、|| 、 sleep

|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,ls -l 是显示当前目录下文件的命令,直接使用时会将所有文件一次列出,不方便查看。有了管道符“|”之后,默认只显示第一屏内容,可以通过按回车键或滑动鼠标滚轮来显示其它内容,结束后按“Q”键退出。

Kaizen的博客 469

【推荐100个unity插件】Animator 的替代品?—— Animancer Pro插件的使用介绍

Animancer与Unity Animator对比及使用指南 摘要: 本文对比了Animancer与Unity官方Animator的核心差异,分析了Animancer的优势特点。Animancer采用代码驱动模式,相比Animator的状态机系统更灵活高效,支持实时调试、动态混合和深度逻辑集成。文章详细介绍了Animancer的快速使用方法,包括动画播放、切换和触发机制,并区分了免费版与专业版的功能差异。适合需要高效动画开发、复杂交互逻辑的中小项目,为开发者提供了一种现代化的动画解决方案。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2434

Linux 的 grep

grep 'r . . t' 文件名。grep r . . t 文件名。grep -n xxx 文件名。grep ^[^qf] 文件名。grep [123] 文件名。grep -n ^$ 文件名。grep r.*t 文件名。grep [^t]$ 文件名。grep ^xxx 文件名。grep xxx$ 文件名。2.显示以xxx开始的行。3.显示以xxx结尾的行。10.不匹配以t结尾的行。6.r-t匹配四个字母。7.r-t匹配四个字母。...

weixin_55739782的博客 263

猿创征文|SfM(Structure from Motion)学习之路

SfM全称Structure from Motion,译为运动恢复结构,是三维重建pipeline的一部分,又称稀疏重建,在摄影测量领域则称为空三(空中三角测量)。SfM的任务是,给定一系列具有一定重叠度的图像,去同时估计出拍摄每张图像时相机的的位姿(位置t和姿态R)和被拍摄物体或场景的稀疏点云。...............

zeeq的博客 1万+

网络管理与维护综合实训2:基于AD证书服务构建企业内部HTTPS安全访问体系

本实训项目通过在Windows Server 2022环境下搭建AD域、DNS服务和Web服务器,实现安全的企业网站访问。主要内容包括:在两台服务器上安装操作系统并配置网络;在S1服务器上部署活动目录域、证书服务和Web服务;创建两个网站(HTTP和HTTPS);配置DNS记录和SSL证书;设置防火墙规则限制HTTP访问而允许HTTPS访问。通过实践掌握了AD证书管理、DNS配置、Web服务器设置及防火墙规则配置等关键技能,为网站管理工作奠定了基础,同时认识到证书管理在Web安全中的重要性。

深耕计算机专业知识与技术。 997

Linux基础知识(4)-find、管道符、通配符

一、前言 “默无言,心事重,万千情思” “绕结心头,咫尺相近天涯远” “从何开口?欲说还羞” 二、find、管道符、通配符 find命令 作用:查找系统的文件 语法: find {搜索的路径} 【选项】 搜索的内容 选项: -name:按照文件名搜索 -iname:不区分大小写搜索文件名 -inum:按照inode号搜索 -size:按照文件大小搜索,默认是b字节 +2M:大于2M的文件 -2M:小于...

Liang_GaRy的博客 1471

RK3568平台开发系列讲解(DMA篇)DMA engine使用

DMA传输属于异步传输,在启动传输之前,slave driver需要将此次传输的一些信息(例如src/dst的buffer、传输的方向等)提交给dma engine(本质上是dma controller driver),dma engine确认okay后,返回一个描述符(由struct dma_async_tx_descriptor抽象)。DMA_PREP_PQ_DISABLE_P、DMA_PREP_PQ_DISABLE_Q、DMA_PREP_CONTINUE,PQ有关的操作,TODO。

内核笔记 1723

Linux进阶命令

在 Linux 和 Unix 系统中,管道符(|)是一个非常强大且常用的工具,用于将一个命令的输出作为另一个命令的输入。尽管如此,对于简单的文件浏览任务,more 仍然是一个实用的工具。grep -rl "search_term" /path/to/search/:递归地在指定目录中搜索包含 "search_term" 的文件,并打印这些文件的路径。在这个例子中,command1 的输出会成为 command2 的输入,command2 的输出又会成为 command3 的输入,依此类推。

m0_70296476的博客 1679

Sigrity Power Tree如何进行直流压降仿真分析操作指导

Sigrity Power Tree模式可以用于前仿真,在没有layout文件的情况下对电源进行直流压降仿真分析,用于评估原理图设计以及器件选型是否合理。Model:设置为Equal Current,设置为等电源模型,意思该负载每个电源pin都是等电流的。Current:设置每个负载的电流,U30为3A,U3-U6各为1A。Nominal Current:设置能够承载的最大电流,设置为10A。Upper/ Lower Tol:设置为压降范围为5%Output Current:设置输出电流为10A。

weixin_54787054的博客 732

Java炫酷烟花③(完整代码)

Java语言实现炫酷烟花动画的完整代码。 下载代码 下载链接:我是一只有趣的兔子,感谢你的喜欢。

AIGC 784

【Linux指南】文件内容查看与文本处理

本文将系统解析文件内容查看的各类工具、文本重定向机制、编辑器基础操作及正则表达式过滤技巧,帮助读者掌握从文件内容浏览到复杂文本处理的全流程技能,为后续Shell脚本编写、日志分析等高级应用奠定基础。

倔强的石头的博客 2820

LIS2DH三轴加速度传感器原理图设计,已量产(加速度传感器)

最近在做一款可穿戴设备原型时,选了 LIS2DH 这款加速度计 —— 比起之前常用的 ADXL345,它在低功耗和稳定性上的优化刚好戳中了可穿戴设备 “续航 + 可靠” 的核心需求。下面结合这次画的原理图,聊聊这个小模块的硬件设计细节。

不脱发的程序猿 389

Linux运维学习-grep&wc&管道&echo&反引号&重定向符&tail&vi编辑器

这是学习Linux运维第二天的第一部分,主要是几个重要符号和tail,echo,wc,grep这几个命令,很基础但是也很重要,还有vi编辑器。欢迎大佬们批评指正!

2401_83383325的博客 571

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Linux文件操作命令

h:表示以高可读性的形式进行显示,如果不写-h,默认以KB的形式显示文件大小。find支持复杂的通配符(如-name "*.txt"),但需转义特殊字符。常见参数:-s :summaries,只显示汇总的大小,统计文件夹的大小。​灵活性强​:支持按文件名、类型、大小、时间、权限等多种条件组合搜索。​基于数据库​:依赖updatedb生成的数据库(通常每日自动更新)。​非实时性​:新文件或修改后的文件需等待数据库更新后才能被找到。​可执行操作​:能对搜索结果执行操作(如删除、移动)。

bahdkdsq的博客 765

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

linux查看错误日志

将jar包部署到服务器,程序在跑了一段时间后发现日志报错。然后想要找到具体报错的地方。 先查看日志,然后用管道通道符查找日志中有error的字段。 cat xxx.log | grep ERROR 然后发现这种命令并没有打印日志报错的时间,很能去具体排查文件然后通过输入以下的命令: grep xxx.log -e ERROR 这样就会在linux中显示日志具体的报错时间和具体报错的内容。 ...

hammring的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Linux三剑客与管道符正则表达式的使用

文章目录Linux管道符命令格式实战正则表达式实战找出所有的hello单词找出hello单词后面有world单词以0开头然后是两个数字然后是一个连字符-,最后是8个数字匹配以字符h开头的单词匹配刚好6个字符的单词匹配一个或更多连接的数字匹配5-12位的QQ号grep定义格式实战查找文件内容包含h的行数查找文件内容不包含h的行数查找以n开头的行查找以k结尾的行sed定义语法查看帮助操作新增取代(c)删除插入打印取代(s)直接修改文件内容awk定义命令形式常用参数实战搜索/etc/passwd/有root关键字

数据攻城狮的博客 2469

grep、wc 与管道符快速上手指南

本文循序渐进介绍 Linux 中 grep和 wc 命令及管道符 | 的用法,涵盖基础操作、进阶技巧和实用场景。通过精炼示例和实践建议,带你快速掌握文本搜索与统计的利器,助你在 Linux 系统中高效处理数据

筏的博客 986

深入学习Linux之Linux中的管道符 | 和grep,awk,cut命令

学习Linux期间最常用三个命令和一个符号,管道符 | 和grep,awk,cut,并且它们几个经常一起使用,简直就是亲兄弟呀。所以我将他们单独整理 为了让大家更容易的看清楚示例,我将附上测试文件,文件名student.txt。文件里面内容就是如下图所示,之间空隙必须采用Tab键,切记不能使用空格。 管道符 | 命令格式:命令A | 命令B,即命令A的正确输出作为命令B的操作对象,这句话可能会很官方 举例说明: cat student.txt | more 先展示了student.txt中的文件内容,然

sxzy_vip 2072

Linux下grep命令解析

linux下grep命令详解

weixin_46245859的博客 1万+

Linux grep筛选命令及管道符|详解

Linux grep筛选命令及管道符|详解

bbaaa123的博客 866

Linux grep-wc命令以及管道符的使用

Linux中的grep命令是一种强大的文本搜索工具,用于在文件或标准输入中查找匹配指定模式的行,并输出结果。 grep命令的基本语法如下: grep [options] pattern [file...]

drhnb的博客 1429

Linux系统的常见命令六,位置查找、文件筛选和管道符(find、grep、|)

本文主要介绍Linux系统的位置查找、文件筛选和管道符(find命令、grep命令和“|”)

一起学习 1762

Linux三剑客与管道及正则

linux常用工具: 1.正则:正则表达式是记录文本规则的代码。在线正则表达式测试 2.管道符“|”,用于连接两个命令间的输出与输入,管道符“|”左边的命令的输出会作为管道符“|”右边命令的输入。 echo "hello world" | grep hello 3.grep,sed,awk为三剑客,对文本进行处理。 1).grep 根据用户指定的模式(pattern)对目......

qq_40132294的博客 1万+
上一篇: Linux基础操作
下一篇: Linux 权限命令
FoldWinCard
博客等级 码龄3年 48粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值