个人类网站类网站/百度浏览器下载安装2023版本

个人类网站类网站,百度浏览器下载安装2023版本,系统开发需求文档,网站底部给网站地图做链接1.概述 Linux系统下,grep、sed和awk三个命令是最常用的、非常强大的文本处理工具,可以用于搜索、替换、过滤、排序等多种操作,掌握这三种工具的用法,可以大大提高我们在Linux下处理文本的效率。 2.grep命令 grep是一种非常常见…

1.概述

Linux系统下,grep、sed和awk三个命令是最常用的、非常强大的文本处理工具,可以用于搜索、替换、过滤、排序等多种操作,掌握这三种工具的用法,可以大大提高我们在Linux下处理文本的效率。

2.grep命令

grep是一种非常常见的文本搜索工具,它可以搜索指定字符串在一个或多个文件中出现的行,并将结果输出到标准输出。语法格式如下:

grep [OPTIONS] PATTERN [FILE…]

其中,OPTIONS表示选项,PATTERN表示要搜索的模式,FILE表示要搜索的文件名。

grep命令的常见选项包括:

  1.  -i:忽略大小写
  2.  -w:完全匹配
  3.  -v:显示不匹配的行
  4.  -n:显示行号
  5.  -c:显示匹配行的数量
  6.  -r:递归搜索子目录
  7.  -e:搜索多个字符串

详细选项参数及其含义可以通过“grep --help”获取,具体如下:

[test@localhost ~]$ grep --help

用法: grep [选项]... 模式 [文件]...

在每个<文件>中查找给定<模式>

例如:grep -i 'hello world' menu.h main.c

<模式>可以包括多个模式字符串,使用换行符进行分隔。

模式选择与解释:

  -E, --extended-regexp     <模式> 是扩展正则表达式

  -F, --fixed-strings        <模式> 是字符串

  -G, --basic-regexp        <模式> 是基本正则表达式

  -P, --perl-regexp          <模式> 是 Perl 正则表达式

  -e, --regexp=<模式>       用指定的<模式>字符串来进行匹配操作

  -f, --file=<文件>          从给定<文件>中取得<模式>

  -i, --ignore-case           在模式和数据中忽略大小写

      --no-ignore-case       不要忽略大小写(默认)

  -w, --word-regexp          强制<模式>仅完全匹配字词

  -x, --line-regexp            强制<模式>仅完全匹配整行

  -z, --null-data              数据行以一个 0 字节结束,而非换行符

杂项:

  -s, --no-messages         不显示错误信息

  -v, --invert-match         选中不匹配的行

  -V, --version             显示版本信息并退出

      --help                显示此帮助并退出

输出控制:

  -m, --max-count=<次数>    得到给定<次数>次匹配后停止

  -b, --byte-offset          输出的同时打印字节偏移

  -n, --line-number         输出的同时打印行号

      --line-buffered       每行输出后刷新输出缓冲区

  -H, --with-filename       为输出行打印文件名

  -h, --no-filename         输出时不显示文件名前缀

      --label=<标签>        将给定<标签>作为标准输入文件名前缀

  -o, --only-matching       只显示行中非空匹配部分

  -q, --quiet, --silent        不显示所有常规输出

      --binary-files=TYPE    设定二进制文件的 TYPE(类型);

                            TYPE 可以是 'binary'、'text' 或 'without-match'

  -a, --text                  等同于 --binary-files=text

  -I                        等同于 --binary-files=without-match

  -d, --directories=ACTION    读取目录的方式;

                            ACTION 可以是`read', `recurse',或`skip'

  -D, --devices=ACTION      读取设备、先入先出队列、套接字的方式;

                            ACTION 可以是`read'或`skip'

  -r, --recursive               等同于--directories=recurse

  -R, --dereference-recursive       同上,但遍历所有符号链接

      --include=GLOB         search only files that match GLOB (a file pattern)

      --exclude=GLOB        skip files that match GLOB

      --exclude-from=FILE     skip files that match any file pattern from FILE

      --exclude-dir=GLOB      skip directories that match GLOB

  -L, --files-without-match     只打印没有匹配上的<文件>的名称

  -l, --files-with-matches      只打印有匹配的<文件>的名称

  -c, --count                只打印每个<文件>中的匹配行数目

  -T, --initial-tab             行首制表符对齐(如有必要)

  -Z, --null                  在<文件>名最后打印空字符

文件控制:

  -B, --before-context=NUM     打印文本及其前面NUM 行

  -A, --after-context=NUM      打印文本及其后面NUM 行

  -C, --context=NUM          打印NUM 行输出文本

  -NUM                      等同于 --context=NUM

      --color[=WHEN],

      --colour[=WHEN]       使用标记高亮匹配字串;

                            WHEN 可以是“always”、“never”或“auto”

  -U, --binary                不要清除行尾的 CR 字符(MSDOS/Windows)

若给定<文件>为“-”,则从读取标准输入。  若无<文件>参数,则除非处于

递归工作模式视为从“.”读取之外,一律视为从“-”读取。如果提供了少于

两个<文件>参数,则默认启用 -h 选项。如果有任意行(或者指定了 -L 选项

并有任意文件)被匹配,则退出状态为 0,否则为 1;如果有错误产生,且未指

定 -q 参数,则退出状态为 2。

3.sed命令

sed是一种流编辑器,它可以执行各种文本操作,如替换、删除、插入等。语法格式如下:

sed [OPTIONS] COMMAND [FILE…]

其中,OPTIONS表示选项,COMMAND表示要执行的sed命令,FILE表示要处理的文件名。

sed命令的常见动作包括:

  1.  a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现(当前行的后一行)
  2.  i:插入指定字符串,i的后面可以接字符串,而这些字符串会在新的一行出现(当前行的前一行)
  3.  s:替换指定模式,通常会搭配正则表达式
  4.  c:替换指定行
  5.  d:删除指定行
  6.  y:字符串转换
  7.  p:打印匹配的行,通常会与参数sed -n一起使用

详细选项参数及其含义可以通过“sed --help”获取,具体如下:

[test@localhost ~]$ sed --help

用法: sed [选项]... {脚本(如果没有其他脚本)} [输入文件]...

  -n, --quiet, --silent

                 取消自动打印模式空间

      --debug

                 对程序运行进行标注

  -e 脚本, --expression=脚本

                 添加“脚本”到程序的运行列表

  -f 脚本文件, --file=脚本文件

                 添加“脚本文件”到程序的运行列表

  --follow-symlinks

                 直接修改文件时跟随软链接

  -i[扩展名], --in-place[=扩展名]

                 直接修改文件(如果指定扩展名则备份文件)

  -l N, --line-length=N

                 指定“l”命令的换行期望长度

  --posix

                 关闭所有 GNU 扩展

  -E, -r, --regexp-extended

                 在脚本中使用扩展正则表达式

                 (为保证可移植性使用 POSIX -E)。

  -s, --separate

                 将输入文件视为各个独立的文件而不是单个

                 长的连续输入流。

      --sandbox

                 在沙盒模式中进行操作(禁用 e/r/w 命令)。

  -u, --unbuffered

                 从输入文件读取最少的数据,更频繁的刷新输出

  -z, --null-data

                 使用 NUL 字符分隔各行

      --help     打印帮助并退出

      --version  输出版本信息并退出

如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为

sed脚本。其他非选项参数被视为输入文件,如果没有输入文件,那么程序将从标准

输入读取数据。

4.awk命令

awk是一种文本处理工具,它可以用于格式化、过滤与计算等操作。语法格式如下:

awk [OPTIONS] 'PATTERN {ACTION} ' [FILE…]

其中,OPTIONS表示选项,PATTERN表示要匹配的模式,ACTION 表示要执行的操作,FILE表示要处理的文件名。

awk命令的常见选项包括:

  1.  print:打印指定内容
  2.  if:条件判断
  3.  for:循环结构
  4.  sum:计算指定

详细选项参数及其含义可以通过“awk --help”获取,具体如下:

[test@localhost ~]$ awk --help

Usage: awk [POSIX or GNU style options] -f progfile [--] file ...

Usage: awk [POSIX or GNU style options] [--] 'program' file ...

POSIX options:          GNU long options: (standard)

        -f progfile             --file=progfile

        -F fs                   --field-separator=fs

        -v var=val              --assign=var=val

Short options:          GNU long options: (extensions)

        -b                      --characters-as-bytes

        -c                      --traditional

        -C                      --copyright

        -d[file]                --dump-variables[=file]

        -D[file]                --debug[=file]

        -e 'program-text'       --source='program-text'

        -E file                 --exec=file

        -g                      --gen-pot

        -h                      --help

        -i includefile          --include=includefile

        -l library              --load=library

        -L[fatal|invalid|no-ext]        --lint[=fatal|invalid|no-ext]

        -M                      --bignum

        -N                      --use-lc-numeric

        -n                      --non-decimal-data

        -o[file]                --pretty-print[=file]

        -O                      --optimize

        -p[file]                --profile[=file]

        -P                      --posix

        -r                      --re-interval

        -s                      --no-optimize

        -S                      --sandbox

        -t                      --lint-old

        -V                      --version

To report bugs, see node `Bugs' in `gawk.info'

which is section `Reporting Problems and Bugs' in the

printed version.  This same information may be found at

https://www.gnu.org/software/gawk/manual/html_node/Bugs.html.

PLEASE do NOT try to report bugs by posting in comp.lang.awk,

or by using a web forum such as Stack Overflow.

gawk is a pattern scanning and processing language.

By default it reads standard input and writes standard output.

Examples:

        gawk '{ sum += $1 }; END { print sum }' file

        gawk -F: '{ print $1 }' /etc/passwd

5.使用实例

(1) grep使用实例

--在文件中搜索指定字符串

grep -i "关键字" 文件      --模糊匹配(不区分大小写)

grep -w "关键字" 文件     --完全匹配

--在文件中搜索多个字符串

grep -e "关键字1" -e "关键字2" 文件

--在文件中搜索并显示匹配的行号

grep -n "关键字" 文件

--在文件中搜索并显示不匹配的行

grep -v "关键字" 文件

--在目录中递归搜索指定字符串

grep -r "关键字" directory/

--查看文件中搜索的关键字的后n行

cat 文件 | grep -An -i "关键字"

--查看文件中搜索的关键字的前n行

cat 文件 | grep -Bn -i "关键字"

--查看文件中搜索的关键字的前后n行

cat 文件 | grep -C20 -i "关键字"

(2) sed使用实例

/* 选择文本p */

--显示文件的1-3行,不使用-n

sed 1,3p 文件名

--只显示文件的1-3行,使用-n

sed -n 1,3p 文件名

--显示包含关键字的行

sed -n '/关键字/p' 文件名

/* 替换文本s */

语法格式[位置参数1] [,位置参数2] s/匹配字符/替换字符/[标志]

标志说明:

g:全局匹配,替换文本行中所有符合规则的字符串

十进制数字n:替换第n符合规则的字符串

p:替换第一个并输出到标准输出

w:替换第一个,并输出到磁盘文件中

空:不加标志,则替换第一个

--把文件的a全部替换成A 

sed 's/a/A/g' 文件名 > 新文件名

--对指定行进行替换

sed '1,3 s/a/A/g' 文件名 > 新文件名

/* 删除文本d */

--删除文件的第一行

sed '1d' 文件名

--删除文件的最后一行

sed '$d' 文件名

--删除空白行

sed '/^$/d' 文件名

/* 追加文本a */

--在文件中root开头的行的后面插入一行test

sed '/^root/a test' 文件名

/* 插入文本i */

--在文件中root开头的行的前面插入一行test

sed '/^root/i test' 文件名

(3) awk使用实例

--打印文件中的所有行

awk '{print}' filename

--打印文件中第二列的内容

awk '{print $2}' filename

--计算文件中所有数字的总和

awk '{sum += $1} END {print sum}' filename

--打印文件中包含指定字符串的行

awk '/关键字/ {print}' filename

--在文件中指定列后面添加指定字符串

awk '{$3 = $3 "关键字"} {print}' filename

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Vue3的流程图绘制库

流程图组件的革命者&#xff0c;带你探索无限可能Vue Flow 基于Vue3的流程图绘制库

学习springboot-Bean管理(Bean 注册,Bean 扫描)

Bean 扫描 可以浏览下面的博客链接 &#xff1a;spring 学习 &#xff08;注解&#xff09;-CSDN博客 在学习spring 注解时&#xff0c;我们使用 Component &#xff0c;Service,Controller等 这样的注解&#xff0c;将目标类信息&#xff0c;传递给IOC容器&#xff0c;为其创…

OpenAI智能体初探:使用 OpenAI Responses API 在 PDF 中实现检索增强生成(RAG)

大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 欢迎关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能! 引子 在信息爆炸的时代,从大量 PDF 文档中快速准确地检索信息…

【MySQL】基本操作 —— DDL

目录 DDLDDL 常用操作对数据库的常用操作查看所有数据库创建数据库切换、显示当前数据库删除数据库修改数据库编码 对表的常用操作创建表数据类型数值类型日期和时间类型字符串类型 查看当前数据库所有表查看指定表的创建语句查看指定表结构删除表 对表结构的常用操作给表添加字…

工厂模式加策略模式 -- 具体实现

这里写目录标题 定义接口定义抽象类定义主处理器分支处理器定义工厂demo 定义接口 public interface EntityHandler extends InitializingBean {MatchContentDTO match(MatchEntityDTO matchEntityDTO);String supportEntityType(); }定义抽象类 public abstract class Abstr…

基于Spring Boot的网上宠物店系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

PHPCMS V9 登录加密改造

要改造 phpcms 的后台登录&#xff0c;使其前端使用加密方式提交&#xff0c;后端解密&#xff0c;你可以采用 RSA 非对称加密 或 AES 对称加密 方式来增强安全性。 方案设计 前端加密 生成公私钥对&#xff08;推荐使用 RSA&#xff09;。前端使用公钥加密密码&#xff0c;然…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口&#xff0c;接口为5针线 (规定用的机架为 81-84&#xff09; PROFIBUS 网络通讯接口&#xff0c;针脚为2针&#xff08;规定用的机架为 67&#xff09; Intemet 网络通讯接口&#xff08;常用的网线接口&#xf…

CentOS8+Zabbix7.2.4解决中文显示问题

#cd /usr/share/zabbix/ui/include/ #grep graphfont defines.inc.php define(‘ZBX_GRAPH_FONT_NAME’, ‘graphfont’); // font file name define(‘ZBX_FONT_NAME’, ‘graphfont’); #ll /usr/share/zabbix/ui/assets/fonts/graphfont.ttf lrwxrwxrwx. 1 root root 36 3…

AI自动化编程初探

先说vscodeclinemodelscope方案&#xff0c;后面体验trae或者cursor再写写其它的。vscode和trae方案目前来说是免费的&#xff0c;cursor要用claud需要付费&#xff0c;而且不便宜&#xff0c;当然效果可能是最好的。 vscode方案&#xff0c;我的经验是最好在ubuntu上&#xff…

101.在 Vue 3 + OpenLayers 使用 declutter 避免文字标签重叠

1. 前言 在使用 OpenLayers 进行地图开发时&#xff0c;我们经常需要在地图上添加点、线、区域等图形&#xff0c;并给它们附加文字标签。但当地图上的标注较多时&#xff0c;文字标签可能会发生重叠&#xff0c;导致用户无法清晰地查看地图信息。 幸运的是&#xff0c;OpenL…

IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力

在现代工业生产和物流领域&#xff0c;物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时&#xff0c;常常存在适应性差、抓取不稳定、操作复杂等问题&#xff0c;导致生产流程中频繁出现停机调整&#xff0c;增加了人工干预成…

江科大51单片机笔记【16】AD/DA转换(下)

写在前言 此为博主自学江科大51单片机&#xff08;B站&#xff09;的笔记&#xff0c;方便后续重温知识 在后面的章节中&#xff0c;为了防止篇幅过长和易于查找&#xff0c;我把一个小节分成两部分来发&#xff0c;上章节主要是关于本节课的硬件介绍、电路图、原理图等理论知识…

【C++】 —— 笔试刷题day_4

刷题day_4 继续加油&#xff01;&#xff01;&#xff01; 一、Fibonacci数列 题目链接&#xff1a;Fibonacci数列 题目解析 题目要求&#xff0c;输入一个数N&#xff0c;我们可以对N进行1/-1操作&#xff1b;题目让我们输出对N进行至少多少步可以变成Fibonacci数。 这里题目…

IP层之分片包的整合处理---BUG修复

在之前章节中&#xff0c;笔者就IP层之分片包的整合处理进行了概念介绍&#xff0c;以及代码编写和仿真&#xff0c;在整体代码调试环节&#xff0c;笔者发现了一个问题&#xff0c;在本文中&#xff0c;笔者将就这个BUG进行说明&#xff0c;以及进行修复&#xff0c;讲解代码实…

pyspark 数据处理的三种方式RDD、DataFrame、Spark SQL案例

目录 一、浅语二、三种数据处理方式比较2.1 RDD2.2 DataFrame2.3 Spark SQL 三、三种方法的创建方式3.1 创建RDD3.2 创建DataFrame3.2.1 创建sqlContext3.2.2 定义Schema3.2.3 创建DataFrame 3.3 创建SparkSQL3.3.1 登录临时表3.3.2 使用sparkSQL 四、三种方法显示部分字段4.1 …

文件解析漏洞靶机---- 练习通关攻略

1.安装靶机 点击 hackme.ova 文件&#xff0c;直接导入虚拟机&#xff0c;选择存储位置 2. 开启靶机 3. kali扫描同C段的ip&#xff0c;找到靶机ip nmap 192.168.182.1/24 经判断&#xff0c;靶机ip为&#xff1a;192.168.182.157 开启端口 http 80 、ssh 远程连接 22 4…

信号处理抽取多项滤波的数学推导与仿真

昨天的《信号处理之插值、抽取与多项滤波》&#xff0c;已经介绍了插值抽取的多项滤率&#xff0c;今天详细介绍多项滤波的数学推导&#xff0c;并附上实战仿真代码。 一、数学变换推导 1. 多相分解的核心思想 将FIR滤波器的系数 h ( n ) h(n) h(n)按相位分组&#xff0c;每…

【大模型基础_毛玉仁】2.3 基于 Encoder-only 架构的大语言模型

更多内容&#xff1a;XiaoJ的知识星球 目录 2.3 基于Encoder-only 架构的大语言模型2.3.1 Encoder-only 架构2.3.2 BERT 语言模型1&#xff09;BERT 模型结构2&#xff09;BERT 预训练方式3&#xff09;BERT 下游任务 2.3.3 BERT 衍生语言模型1&#xff09;RoBERTa 语言模型2&a…

20250310:OpenCV mat对象与base64互转

代码: https://github.com/ReneNyffenegger/cpp-base64 指南:https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp/ 实操: