Shell编程三剑客

article/2025/10/8 6:30:10

文章目录

  • 前言
  • grep
    • 选项
  • sed 工具
    • 概述
    • 基本语法
      • 常见的 sed 命令选项
      • 常见的操作
    • 实验
      • 结合正则表达式
        • 输出符合条件的文本
        • 删除符合条件的文本
        • 替换符合条件的文本
        • 迁移符合条件的文本
      • 使用脚本编辑文件
      • 调用变量来改文件
  • awk
    • 概述
    • 工作原理:
    • 选项
    • 工作原理
    • 内置变量
        • 关于数组与字符串的比较
        • 逻辑运算 && ||
        • 网卡的IP、流量
        • 根分区的可用量
      • BEGIN、END模块
        • awk的运算
      • awk高级用法
      • 调用函数getline,读取一行数据的时候并不是等到当前行而是当前行的下一行
      • if语句:awk的if语句也分为单分支,双分支和多分支
      • 其他


前言

在 Linux/UNIX 系统中包含很多种文本处理器或文本编辑器,其中包括我们之前用到的VIM 编辑器与 grep 等。而 grep,sed,awk 更是 shell 编程中经常用到的文本处理工具,被称之为 Shell 编程三剑客。


grep

grep 命令用于查找文件里符合条件的字符串

grep [选项]… 查找条件 目标文件

选项

  • -i:查找时忽略大小写
  • -v:反向查找,输出与查找条件不相符的行
  • -o 只显示匹配项
  • -f 对比两个文件的相同行
  • -c 匹配的行数
    显示行号-n,过滤出the
    在这里插入图片描述
    -vn显示行号反选
    在这里插入图片描述
    -in显示行号,忽略大小写
    在这里插入图片描述
    -c 匹配行数,后面跟要匹配的字符

在这里插入图片描述
-o只显示匹配的字符
在这里插入图片描述

sed 工具

概述

sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。sed也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于Shell脚本中,用以完成各种自动化处理任务。

sed 的工作流程主要包括读取、执行和显示三个过程。

  • 读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)。
  • 执行:默认情况下,所有的 sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则 sed 命令将会在所有的行上依次执行。
  • 显示:发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。
    在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。
    注意:默认情况下所有的 sed 命令都是在模式空间内执行的,因此输入的文件并不会发生任何变化,除非是用重定向存储输出。

基本语法

通常情况下调用sed命令有两种格式,如下所示。其中,“参数”是指操作的目标文件,当存在多个操作对象时用,文件之间用逗号“,”分隔;而scriptfile表示脚本文件,需要用“-f”选项指定,当脚本文件出现在目标文件之前时,表示通过指定的脚本文件来处理输入的目标文件。

Sed[选项] '操作' 参数
sed [选项] -f scriptfile 参数

常见的 sed 命令选项

  • -e 或–expression=:表示用指定命令或者脚本来处理输入的文本文件。
  • -f 或–file=:表示用指定的脚本文件来处理输入的文本文件。
  • -h 或–help:显示帮助。
  • -n、–quiet 或 silent:表示仅显示处理后的结果。
  • -i:直接编辑文本文件。

常见的操作

“操作”用于指定对文件操作的动作行为,也就是 sed 的命令。通常情况下是采用的“[n1[,n2]]”操作参数的格式。n1、n2 是可选的,不一定会存在,代表选择进行操作的行数,如操作需要在 5~20 行之间进行,则表示为“5,20 动作行为”。常见的操作包括以下几种。

  • a:增加,在当前行下面增加一行指定内容。
  • c:替换,将选定行替换为指定内容。
  • d:删除,删除选定的行。
  • i:插入,在选定行上面插入一行指定内容。
  • p:打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以 ASCII 码输出。其通常与“-n”选项一起使用。
  • s:替换,替换指定字符。
  • y:字符转换。

实验

sed -n 'p' test.txt 输出所有内容 ,等同于使用cat

在这里插入图片描述

sed -n '3p' test.txt 输出第 3 行

在这里插入图片描述

sed -n '3,5p' test.txt 输出 3~5 行

在这里插入图片描述

sed -n 'p;n' test.txt 输出所有奇数行,n 表示读入下一行资料

在这里插入图片描述

sed -n 'n;p' test.txt 输出所有偶数行,n 表示读入下一行资料

在这里插入图片描述

sed -n '1,5{p;n}' test.txt 输出第 1~5 行之间的奇数行(第 1、3、5 行)

在这里插入图片描述

sed -n '10,${n;p}' test.txt 输出第 10 行至文件尾之间的偶数行

在这里插入图片描述

结合正则表达式

输出符合条件的文本

sed -n '/the/p' test.txt 输出包含the 的行

在这里插入图片描述

sed -n '4,/the/p' test.txt 输出从第4行至第1个包含the的行

在这里插入图片描述

sed -n '/the/=' test.txt 输出包含the 的行所在的行号,等号(=)用来输出行号

在这里插入图片描述

sed -n '/^PI/p' test.txt 输出以PI 开头的行

在这里插入图片描述

sed -n '/[0-9]$/p' test.txt 输出以数字结尾的行

在这里插入图片描述

sed -n '/\<wood\>/p' test.txt 输出包含单词wood 的行,\<、\>代表单词边界

在这里插入图片描述

sed -n '/^b/,/^f/p' passwd 
基本格式     '/表达式1/,/表达式2/p' (不要忘记打印)p  文件名

在这里插入图片描述

删除符合条件的文本

nl test.txt |sed '3d' 删除第 3 行nl 命令用于计算文件的行数

在这里插入图片描述

nl test.txt |sed '3,5d' 删除第 3~5 行

在这里插入图片描述

nl test.txt |sed '/cross/d' 删除包含cross 的行,原本的第 8 行被删除
删除不包含cross 的行,用!符号表示取反操作,如'/cross/!d'

在这里插入图片描述
在这里插入图片描述

sed '/^[a-z]/d' test.txt 删除以小写字母开头的行

在这里插入图片描述

sed '/\.$/d' test.txt 删除以"."结尾的行

在这里插入图片描述

sed '/^$/d' test.txt 删除所有空行

在这里插入图片描述

替换符合条件的文本

在使用 sed 命令进行替换操作时需要用到 s(字符串替换)、c(整行/整块替换)、y(字符转换)命令选项

sed 's/the/THE/' test.txt 将每行中的第一个the替换为THE

在这里插入图片描述

sed 's/l/L/2' test.txt	 将每行中的第2 个l替换为L

在这里插入图片描述

sed 's/the/THE/g' test.txt	将文件中的所有the替换为THE

在这里插入图片描述

sed 's/o//g' test.txt 将文件中的所有o 删除(替换为空串)

在这里插入图片描述

sed 's/^/#/' test.txt 在每行行首插入#号

在这里插入图片描述

sed '/the/s/^/#/' test.txt		在包含the的每行行首插入#号

在这里插入图片描述

sed 's/$/EOF/' test.txt		在每行行尾插入字符串EOF 

在这里插入图片描述

sed '3,5s/the/THE/g' test.txt	 将第3~5行中的所有the替换为THE

在这里插入图片描述

sed '/the/s/o/O/g' test.txt	 将包含the 的所有行中的o 都替换为 O

在这里插入图片描述

迁移符合条件的文本

H,复制到剪贴板;g、G,将剪贴板中的数据覆盖/追加至指定行;w,保存为文件;r,读取指定文件;a,追加指定内容。

sed '/the/{H;d};$G' test.txt	 将包含the的行迁移至文件末尾,{;}用于多个操作

在这里插入图片描述

sed '1,5{H;d};17G' test.txt	 将第1~5行内容转移至第17行后

在这里插入图片描述

sed '/the/wout.file' test.txt	 将包含the的行另存为文件out.file

在这里插入图片描述
在这里插入图片描述

sed '/the/r /etc/hostname' test.txt	 将文件/etc/hostname的内容添加到包含the 的每行以后

在这里插入图片描述

sed '3aNew' test.txt		 在第3行后插入一个新行,内容为New

在这里插入图片描述

sed '/the/aNew' test.txt	 在包含the的每行后插入一个新行,内容为New

在这里插入图片描述

sed '3aNew1\nNew2' test.txt	 在第3行后插入多行内容,中间的\n表示换行

在这里插入图片描述

使用脚本编辑文件

使用sed脚本,将多个编辑指令存放到文件中(每行一条编辑指令),通过“-f”选项来调用。

sed '1,5{H;d};17G' test.txt	 将第 1~5 行内容转移至第 17 行后

在这里插入图片描述
以上操作可以改用脚本文件方式:

sed -f opt.list test.txt

在这里插入图片描述

echo 123abcxyz |sed -r 's/(123)(abc)(xyz)/\1/'
##分组 s//代表查找替换  ()代表分组    \1 代表留下的组123
echo 123xyzabc |sed -r 's/(123)(xyz)(abc)/\1\2/'

在这里插入图片描述
在这里插入图片描述

调用变量来改文件

name=root
sed -nr "/$name/p" passwd
#使用双引号
sed -nr '/'$name'/p' /etc/passwd
#变量上家上单引号

在这里插入图片描述

在这里插入图片描述

awk

概述

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作
数据可以来自标准输入也可以是管道或文件

工作原理:

当读到第一行时,匹配条件,然后执行指定动作,再接着读取第二行数据处理,不会默认输出。
如果没有定义匹配条件默认是匹配所有数据行,awk隐含循环,条件匹配多少次动作就会执行多少次。
逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作。
sed命令常用于一整行的处理,而awk比较倾向于将一行分为多个"字段"然后再进行处理,awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示,
在使用awk命令的过程中,可以使用逻辑操作符"&&“表示"与”、“||“表示"或”、”!“表示"非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。

选项

awk [选项] ‘模式条件{操作}’ 文件1 文件2....
awk -f|-v 脚本文件 文件1 文件2.....

查找出/etc/passwd 的用户名、用户 ID、组 ID 等列
在这里插入图片描述

工作原理

在这里插入图片描述

内置变量

  • FS:指定每行文本的字段分隔符,缺省为空格或制表位(tab)
  • OFS:输入字段的分割符(默认是空格)
  • NF:当前处理的行的字段个数
  • NR:当前处理的行的行号(序数)
  • FNR:读取文件的记录行号(从1开始,若读取新的文件依旧是从1开始)
  • ORS:输出行的分割符,默认为换行符
  • RS:行分隔符,根据RS的定义把资料切割成许多条记录
  • $0:当前处理的行的整行内容
  • $n:当前处理行的第n个字段(第n列)
awk -F":" '{print $1" "$2}' passwd
显示一个空格,空格需要用双引号引用起来,如果不用引号,默认以变量看待,如果是常量就需要双引号引起来

在这里插入图片描述

awk -F":" '{print $1,$2}' passwd
逗号有空格效果

在这里插入图片描述
包含root的行打印出来
在这里插入图片描述
模糊匹配,用 ~ 表示包含,!~ 表示不包含
在这里插入图片描述
匹配root整体
在这里插入图片描述

awk -F":" '{print $1"\t"$2}' passwd
用制表符作为分隔符输出

在这里插入图片描述

awk -F[:/] '{print $9}' passwd
[]中定义多个分隔符,只要看见其中一个都算作分隔符

在这里插入图片描述

awk '{print}' test.txt  输出所有内容

在这里插入图片描述

awk '{print $0}' test.txt 输出所有内容

在这里插入图片描述

关于数组与字符串的比较

比较符号 == != <= >= < >

awk 'NR==1,NR==3{print}' test.txt 输出第 1~3 行内容

在这里插入图片描述

逻辑运算 && ||

awk '(NR>=1)&&(NR<=3){print}' test.txt 输出第 1~3 行内容

在这里插入图片描述

awk 'NR==1||NR==3{print}' test.txt 输出第 1 行、第 3 行内容

在这里插入图片描述

awk '(NR%2)==1{print}' test.txt 输出所有奇数行

在这里插入图片描述

awk '(NR%2)==0{print}' test.txt 输出所有偶数行

在这里插入图片描述

awk 'NR==2' passwd
打印第二行,不加print也一样,默认就是打印

在这里插入图片描述

awk 'NR<5' passwd
打印小于五行

在这里插入图片描述

awk -F":" 'NR==2{print $1}' passwd
打印第二行的第一列

在这里插入图片描述

awk '{print FNR,$0}' /etc/resolv.conf /etc/hosts
FNR的行号可以追加多个文件

在这里插入图片描述

seq 200 | awk '$1%7==0 && $1~/7/' 
打印1-200之间所有能被7整除的整数数字

在这里插入图片描述

awk '/^root/{print}' passwd 输出以root开头的行

在这里插入图片描述

awk '/nologin$/{print}' passwd 输出以 nologin 结尾的行

在这里插入图片描述

网卡的IP、流量

ifconfig ens33 | awk '/netmask/{print "本机的ip地址是"$2}'
ifconfig ens33 | awk 'RX p/{print $5"字节"}'

在这里插入图片描述

根分区的可用量

 df -h | awk 'NR==2{print $4}'

在这里插入图片描述

awk '{print$3}' test.txt 输出每行中(以空格或制表位分隔)的第3个字段

在这里插入图片描述

awk '{print$1,$3}' test.txt 输出每行中的第1、3个字段

在这里插入图片描述

BEGIN、END模块

逐行执行开始之前执行什么任务,结束之后再执行什么任务,用BEGIN、END

  • BEGIN一般用来做初始化操作,仅在读取数据记录之前执行一次
  • END一般用来做汇总操作,仅在读取完数据记录之后执行一次

awk的运算

awk 'BEGIN{x=10;print x}'
如果不用引号awk就当作一个变量来输出了,所有不需要加$了

在这里插入图片描述

awk 'BEGIN{print x+1}'
不指定初始值、初始值就为0、如果是字符串 、则默认为空

在这里插入图片描述
在这里插入图片描述
awk的运算还支持小数
在这里插入图片描述

awk 'BEGIN {x=0} ; /\/bin\/bash$/{x++};END {print x}' passwd 统计以/bin/bash 结尾的行数

在这里插入图片描述

awk 'BEGIN{RS=""};END{print NR}' test.txt 统计以空行分隔的文本段落数

在这里插入图片描述

awk 'BEGIN{FS=":"}{print $1}' passwd
在打印之前定义字段分隔符为冒号

在这里插入图片描述

awk 'BEGIN{FS=":";OFS="--"}{print $1,$2}' passwd
OFS定义了输出时以什么为分隔,$1$2中间要同逗号分隔,因为逗号默认被映射为OFS变量,而这个变量默认是空格

在这里插入图片描述

awk 'BEGIN{ORS=" "}{print $0}' passwd
把多行合并成一行输出,输出的时候自定义以空格分隔每行,本来默认是回车键

在这里插入图片描述

awk高级用法

定义引用变量

a=100
awk -v b="$a" 'BEGIN{print b}'
将系统的变量a,在awk里赋值为变量b,然后调用变量b
awk 'BEGIN{print "'$a'"}'
直接调用的话需要先用双引号再用单引号

在这里插入图片描述

awk -vc=1 'BEGIN{print c}'
awk直接定义变量并引用

在这里插入图片描述

调用函数getline,读取一行数据的时候并不是等到当前行而是当前行的下一行

seq 10 |awk '{getline;print $0}'

在这里插入图片描述

if语句:awk的if语句也分为单分支,双分支和多分支

  • 单分支为if ( ) { }
  • 双分支为if ( ) { }else{ }
  • 多分支为if ( ) { }else if ( ) { }else{ }
    单分支 awk -F: '{if(条件判断){执行的指令操作}}‘ 处理对象(文件、管道、标准输入)
    双分支 awk -F: '{if(条件判断){执行的指令操作}else{执行的操作指令}}‘ 处理对象(文件、管道、标准输入)
    多分支 awk -F: '{if(条件判断){执行的指令操作}else if(条件表达式2){操作指令}else{其他的操作指令}}‘ 处理对象(文件、管道、标准输入)
awk -F: '{if($3<10){print $0}}' /etc/passwd
第三列小于10的打印整行

在这里插入图片描述

awk -F: '{if($3<10){print $3}else{print $1}}' /etc/passwd
第三列小于10的打印第三列,否则打印第一列

在这里插入图片描述
awk还支持for循环、while循环、函数、数组等

其他

awk 'BEGIN{x=0};/\/bin\/bash$/ {x++;print x,$0};END {print x}' /etc/passwd
统计以/bin/bash结尾的行数,等同于grep -c "/bin/bash$" /etc/passwd
BEGIN模式表示,在处理指定的文本之前,需要先执行BEGIN模式中的动作;
awk再处理指定的文本,之后再执行ENG模式中指定的动作,ENG{ }语句块中,往往会放入打印结果等语句

在这里插入图片描述


http://chatgpt.dhexx.cn/article/pvWF2Ts4.shtml

相关文章

Shell编程【万字Shell详细介绍带你入门建议收藏】

文章目录 1 Shell 基础介绍1.1 Shell 简介Shell 概述Shell 发展史查看Shell查看系统默认安装的 Shell查看当前登录用户默认 Shell查看当前的 Shell 1.2 Shell 脚本(定义、作用、格式、权限及执行)Shell 脚本基础知识Shell 脚本的约束Shell 脚本可以完成很多任务&#xff0c;但不…

Linux之Shell编程详解

精心整理Shell编程的入门&#xff0c;并配图加代码&#xff0c;方便大家跟着操作&#xff0c;但是难免不了存在纰漏&#xff0c;感谢大家的指正与理解&#xff01;觉的写的不错的小伙伴儿&#xff0c;一键三连支持一下&#xff0c;后期会有持续更新&#xff01;&#xff01;谢谢…

Linux系统的Shell编程

一. 什么是Shell 1. 在学习Shell编程之前&#xff0c;我们应该要先知道什么是Shell 用户、Shell、Linux内核、硬件的关系如下图&#xff1a; Shell是一个应用程序&#xff0c;也可以说是一个命令解释器&#xff0c;它是用户和Linux内核之间的桥梁&#xff0c;可以将用户在图形界…

Linux中的Shell编程

1.Shell的概念 shell是一个命令行解释器&#xff0c;它为客户提供了一个Linux内核发送请求一边运行程序界面系统级程序&#xff0c;用汉语可以通过shell启动、挂起、停止甚至编写一些程序。 shell还是一个功能强大的编程语言&#xff0c;易于编辑&#xff0c;易于调试&#xff…

Shell编程实验

实验二 Shell编程 文章目录 实验二 Shell编程一、如果当前目录下有文件f1&#xff0c;但是没有f2&#xff0c;解释命令ls f1 f2 2>ef1 1>&2的运行结果。二、使用for循环语句编写一段B-shell程序&#xff0c;完成显示用户注册目录下的a_sub, b_sub子目录下的所有C程序…

Shell编程入门

文章目录 1 Shell编程简介2 Shell脚本的执行方式3 Shell变量3.1 Shell变量介绍3.2 定义变量的规则3.3 将命令的返回值赋给变量&#xff08;重点&#xff09; 4 设置环境变量5 位置参数变量6 预定义变量7 运算符8 条件判断8.1 基本介绍8.2 if 判断8.3 case 语句 9 循环语句9.1 f…

Linux Shell编程

Linux Shell编程 一、简述 简单的介绍shell脚本的基本用法。 shell脚本是 由一些按照一定格式组合起来的shell命令 组成。shell脚本不需要编译就可以直接执行&#xff0c;它是边解释边执行的。 二、命令解释器 Linux系统提供多种不同的Shell以供选择。常用的有Bourne Shell&a…

Shell编程入门学习

文章目录 Shell编程Shell脚本的执行方式Shell的变量Shell的变量的介绍shell变量的定义 设置环境变量位置参数变量介绍基本语法 预定义变量基本介绍基本语法 运算符基本语法 条件判断判断语句常用判断条件 流程控制if 判断case语句for循环while循环 read读取控制台输入基本语法 …

shell编程

文章目录 一、shell简介二、shell脚本的执行方式三、shell变量3.1 shell变量介绍3.2 shell变量的定义3.2.1 基本语法3.2.2 定义变量的规则3.2.3 将命令的返回值赋予变量 四、环境变量的设置五、位置参数变量5.1 基本介绍5.2 基本语法 六、预定义变量6.1 基本介绍6.2 基本语法 七…

shell编程入门(一天掌握shell编程)

一、背景 到新公司之后&#xff0c;发现好多地方需要使用shell来编写一些简单的程序来提升自己的工作效率&#xff0c;因此专门B站上查看视频&#xff08;尚硅谷的视频&#xff09;&#xff0c;在这里学习总结下shell编程。 二、shell概述 shell是一个命令行解释器&#xff…

Linux【实操篇】—— Shell 编程入门、变量、运算符、条件判断、流程控制

目录 一、Shell 编程入门 1. 认识 Shell 2. Shell 脚本的创建与执行 二、Shell 变量 1. 系统变量和自定义变量 2. 变量的基本规则 3. 设置环境变量 4. 位置参数变量 5. 预定义变量 三、运算符 四、条件判断 五、流程控制 1. if 语句 2. case 语句 3. fo…

各大常见OJ与推荐OJ汇总(OJ题量统计)

这么长时间了 收集了不少做题的网站 在这里列一列 可以挑自己各方面都喜欢的主用 并没有什么顺序 大家择优选择 Last-Modified: 2023/3 POJ&#xff08;北京大学&#xff09;洛谷CowcoderLibreOJCodeforces&#xff08;俄罗斯&#xff09;东北大学秦皇岛分校oj51Nodhihocoder…

华为OD机试(2023A+B)在线OJ模拟

语言支持 CCJavaJavaScript&#xff08;Node.js-CJS、Node.js-ESM&#xff09;Python&#xff08;Python3、PyPy3、Python3-Graphics&#xff09;Mono C#GoRubyRustSQLHaskellBashJuliaKotlin/JVMFortranPascalPHPVerilog 用例库说明 在线OJ中的题目用例均来自本人构思&#…

在线OJ注意事项

CSDN话题挑战赛第2期 参赛话题&#xff1a;学习笔记 一、OJ概念 online judge&#xff0c;简称OJ&#xff0c;是一个在线的判题系统。 用户可以在线提交多种程序代码(比如&#xff1a;C、C、Java、Python等)&#xff0c;系统对源代码进行编译和执行&#xff0c;并通过预先设计…

在线OJ系统

在线OJ系统 项目开始之前需要准备的第三方库项目分析 两大模块在线编译模块整体思路编译模块 题目管理模块数据存储页面显示服务器 项目开始之前 需要准备的第三方库 httplib g版本必须得是4.9以上 ctemplate boost&#xff1a; yum install boost-devel.x86_64 jsoncpp&a…

分享一个OJ平台——浙江工商大学的OJ平台

1.引言 最近是有总喜欢讨论算法题&#xff0c;因为他们在准备考研复试&#xff0c;为什么我不准备呢&#xff1f;这是一个悲伤的故事&#xff0c;刚好自己也有面试遇到只能使用C和C的代码题&#xff0c;他们说这OJ平台相对简单一些&#xff0c;那些刷不来LeetCode可以试试这个&…

算法OJ题(1)

1.删除有序数组中的重复项 原题链接&#xff1a;https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 思路&#xff1a;使用双指针算法可以使时间复杂度达到O(1). 具体过程&#xff1a;&#xff08;以画图解释&#xff09; 代码实现&#xff1a; int remove…

你想知道刷题的秘密吗?一篇博客让你明白什么是OJ题,如何刷OJ题,并深入浅出的带你刷遍顺序表的OJ题(小白必看)

目录 0.前言 1.什么是OJ 1.1 OJ简述 1.2 OJ的分类&#xff08;尤其接口型OJ&#xff0c;带你剖析得明明白白&#xff09; 1.3 接口型OJ的输入型参数 2. 剑指 Offer 56 - I. 数组中数字出现的次数 3. 88. 合并两个有序数组 4. 27.移除元素 5. 26. 删除有序数组中的重复…

Online Judge系统(简称OJ)

什么是OJ Online Judge系统&#xff08;简称OJ&#xff09;是一个在线的判题系统。用户可以在线提交程序源代码&#xff0c;系统对源代码进行编译和执行&#xff0c;并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提交的程序在Online Judge系统下执行时将受到比…

OJ的介绍以及使用方法

OJ系统简介 Online Judge系统&#xff08;简称OJ&#xff09;是一个在线的判题系统。用户可以在线提交程序多种程序&#xff08;如C、C&#xff09; 源代码&#xff0c;系统对源代码进行编译和执行&#xff0c;并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提…