当前位置: 首页 > news >正文

Linux Shell实例

1.查空行

答案:

awk '/^$/{print NR}' file1.txt#awk:一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析#处理。
#1)基本语法
#awk [选项参数]'/pattern1/{action1} /pattern2/{action2}...' filename
#pattern:表示awk在数据中查找的内容,就是匹配模式
#action:在找到匹配内容时所执行的一系列命令# ^$:以^开头,以$结束,中间即为空# NR:行号

运行结果:

2.求一列的和

使用Linux命令计算第二列的和并输出

awk '{sum+=$2} END{print "求和:"sum}' file2.txt# $2表示第二列,因为awk默认以空格拆分

运行结果:

3.检查文件是否存在

问题:Shell脚本里如何检查一个文件是否存在?如果不存在该如何处理?

答案:

if [ -e /root/file2.txt ];then echo "文件存在";else echo "文件不存在"; fi
# -e:文件存在

运行结果:

4.数字排序

答案:

sort -n file33.txt
#sort:sort命令是在linux里非常有用,它将文件进行排序,并将排序结果标准输出。
#-n:依照数值的大小排序(从小到大)

运行结果:

5.搜索指定目录下文件内容

grep -r "123" /root | cut -d ":" -f 1| sort -u
#grep:查找文件内容
#-r:搜索文件内容
#cut -d ":" -f 1:以:为分隔符进行分割,并提取第一列
#sort -u:去重复

运行结果:

6.批量生成文件名

#!/bin/bash #解析器类型
read -t 30 -p“请输入创建文件的数目:"ntest=$(echo $n | sed 's/[0-9]//g')
#检测非数字输入
#将n给sed解析,将0-9所有数字替换为空字符串
#'s/[0-9]//g':是sed的替换命令,s代表替换操作,[0-9]是一个正则表达式,匹配任何单个数字字符,//表##示将匹配到的内容替换为空(即删除),g代表全局替换,意味着每一行>中,所有匹配到的实例都会被替换。
#检测替换为后的字符串是否为空0,如果为0,则输入的都是数字,否则输入的有非数字 if [ -n "$n"-a -z "$test"]   #检测输入的字符串非空且都是数字
#-n "$n”: 检测字符串长度是否不为0,不为0返回true
#-a: 并且
#-z "$test": 检测字符串长度是否为0,为0返回true thenfor((i=0;i<$n;i=i+1)) doname=$(date +%N) #返回纳秒#有了文件名,要往指定的目录里写文件[! -d ./temp ] && mkdir -p ./temp	#-d ./temp判断temp目录是否存在,! 是取反,即不存在, #mkdir -p ./temp:创建一个temp目录touch "./temp/$name" #创建文件 echo“创建 $name 成功!'done
elseecho“创建失败" exit 1 #退出
fi

’s/[0-9]//g':是sed的替换命令,s代表替换操作,[0-9]是一个正则表达式,匹配任何单个数字字符,//表示将匹配到的内容替换为空(即删除),g代表全局替换,意味着在每一行中,所有匹配到的实例都会被替换。

所以,当运行sed 's/[0-9]//g'时,它会读取输入的文本,并删除所有的数字字符。例如,如果输入文本是"abc123",输出将是"abc"

运行结果:

7.批量改名

8.批量创建用户

相关文章:

Linux Shell实例

1.查空行 答案&#xff1a; awk /^$/{print NR} file1.txt#awk:一个强大的文本分析工具&#xff0c;把文件逐行的读入&#xff0c;以空格为默认分隔符将每行切片&#xff0c;切开的部分再进行分析#处理。 #1&#xff09;基本语法 #awk [选项参数]/pattern1/{action1} /pattern…...

Linux~MySQL数据库具体操作

一、数据库的字符集编码设置 &#xff08;一&#xff09;查看数据库默认的字符集 MariaDB [(none)]> show variables like %character%; ------------------------------------------------------ | Variable_name | Value | ------------…...

Unity WebGL平台Hybrid Generate All报错undefined symbol sendfile

详细报错信息如下&#xff1a; Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js: undefined symbol: sendfile (referenced by top-level compiled C/C code) UnityEditor.BuildPipeline:BuildPlayer (UnityEditor.BuildPlayerOptions) HybridCLR.Editor.Comman…...

Java高级Day28-多线程

83.多线程 什么是线程&#xff1a; 线程右进程创建的&#xff0c;是进程的一个实体 一个进程可以有多个线程 并发&#xff1a;同一个时刻&#xff0c;多个任务交替执行&#xff0c;造成一种貌似同时的错觉 并行&#xff1a;同一个时刻&#xff0c;多个任务同时执行&#x…...

0003 保险的会计要素及其计量属性

与一般行业相同&#xff0c;保险业的会计要素主要包括资产、负债、所有者权益、收入、成本与费用以及利润六个方面。然而&#xff0c;在某些特定的要素上&#xff0c;保险业展示了其独特之处。 资产&#xff1a;由于保险本质上是一种承诺而非实物商品&#xff0c;因此保险业不持…...

Swift版本控制的艺术:掌握代码演化的魔杖

标题&#xff1a;Swift版本控制的艺术&#xff1a;掌握代码演化的魔杖 在Swift开发的世界中&#xff0c;代码的版本管理是一个核心议题。它不仅关系到代码的组织和追踪&#xff0c;更是团队协作和项目持续交付的关键。本文将深入探讨如何在Swift中利用版本管理工具&#xff0c…...

学习实战:生活垃圾自动识别与分类系统的实现

引言 在日常生活中&#xff0c;垃圾分类是保护环境的重要措施之一。然而&#xff0c;手动分类不仅耗时&#xff0c;还容易出错。基于深度学习的垃圾检测与分类系统能够自动识别和分类不同类型的垃圾&#xff0c;从而提高分类效率。 目录 项目概述 项目背景与意义系统功能介绍…...

Swift模块化构建:解锁代码重用的金钥匙

标题&#xff1a;Swift模块化构建&#xff1a;解锁代码重用的金钥匙 在Swift编程的宏伟蓝图中&#xff0c;模块化不仅是提升代码组织性的关键&#xff0c;更是实现高效开发与维护的法宝。本文将深入探讨Swift模块化构建工具的使用&#xff0c;揭示如何通过模块化将代码转化为可…...

【计算机网络】CIDR无分类编址知识学习

文章目录 1、CIDR引入的背景2、CIDR是什么&#xff1f;2.1 CIDR的2个特点2.2 CIDR斜线记法注意区分细节2.3 路由聚合or构成超网2.4 CIDR里面的掩码&#xff08;不是叫子网掩码)2.5 CIDR几种等效的记法形式2.6 对于”网络前缀“不是8的整数倍时候&#xff0c;要多加注意 3、CIDR…...

JavaScript 详解

第一章 JavaScript简介 为什么学习javascript &#xff1f; JavaScript 是全球最流行的编程语言。 JavaScript 是属于 Web 的编程语言。 JavaScript 是 web 开发者必学的三种语言之一&#xff1a; HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 …...

运维实践01-安装OpenJDK

前几天逛知乎&#xff0c;有个问题是如何成为一个优秀的运维工程师&#xff0c;有个回答是让自己搞清楚如下几件事情。 首先&#xff0c;搭4台Linux的服务器。然后完成如下操作 批量安装最新版OpenJDK安装部署elastic search集群安装部署mysql9.0&#xff0c;实现一主三备。安…...

Windows下,C# 通过FastDDS高效通信

目录 1、安装FastDDS 库2、使用IDL定义自己的数据格式3、生成DLL3.1 托管 &#xff08;Managed&#xff09;模式3.2 非托管 &#xff08;Unmanaged&#xff09;模式 -- 可用于Unity 代码示例 eprosima Fast DDS is a C implementation of the DDS (Data Distribution Service) …...

【模型】ResNet

ResNet&#xff08;Residual Network&#xff0c;残差网络&#xff09;是一种用于图像识别等任务的深度神经网络架构&#xff0c;由何凯明等人于2015年提出。它在计算机视觉领域中具有重要意义&#xff0c;因为它解决了随着网络层数加深而导致的“梯度消失”或“梯度爆炸”问题…...

Objective-C中NSExpression与NSPredicate的协同艺术

标题&#xff1a;Objective-C中NSExpression与NSPredicate的协同艺术 引言 在Objective-C的丰富生态中&#xff0c;NSExpression和NSPredicate是两个强大的工具&#xff0c;它们在处理数据集合和执行复杂查询时发挥着关键作用。本文将深入探讨这两个API的协同工作方式&#x…...

Apache-JMeter压测工具教程

下载安装 《JMeter官网下载》 下载完成后&#xff0c;找个文件夹进行解压 配置环境变量 JAVA_HOME&#xff08;如果是JAVA8还需要配置CLASSPATH&#xff09;、JMETER_HOME JMETER_HOME修改bin目录下的jmeter.properties文件编码为UTF-8 5.6.3这个版本encoding已经默认为UT…...

Spring Boot集成selenium实现自动化测试

1.什么是selenium&#xff1f; Selenium 是支持web 浏览器自动化的一系列工具和 库的综合项目。 它提供了扩展来模拟用户与浏览器的交互&#xff0c;用于扩展浏览器分配的分发 服务器&#xff0c; 以及用于实现W3C WebDriver 规范 的基础结构&#xff0c; 该规范允许您为所有主…...

基于phpstudy对cmseasy5.5进行漏洞复现

目录&#xff1a; 漏洞复现的cmseasy5.5百度网盘链接 安装cmseasy&#xff1a; 1.在phpstudy上安装cmseasy 2.设置mysql密码为phpstudy内置mysql的密码并检查安装环境 3.安装后查看mysql内cmseasy是否有内容 获取用户名和密码过程&#xff1a; 1.查看源码发现有个remotelo…...

【c++】 C语言的输入与输出C++的IO流STL空间配置器

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;c_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.C语言的输入与输出 2.流是什么 3.CIO流 3.1 C标准IO流 3.2 C文件IO流 4.stringstream的简单介绍 5.什么是空间配置器 6.为什么需要…...

基于Faster-RCNN的停车场空位检测,支持图像和视频检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示&#xff1a; 基于Faster-RCNN的停车场空位检测系统&#xff0c;支持图像检测和视频检测&#xff08;pytorch框架&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于Faster-RCNN的停车场空位检测系统是在pytorch框架下实现的&#xff0c;这是一个…...

Vue3从零开始——带你轻松掌握组件的基本操作

文章目录 1. Vue 组件的基础概念1.1 什么是组件&#xff1f;1.2 组件的作用1.3 组件的分类&#xff08;全局组件 vs 局部组件&#xff09; 2. 创建和注册组件2.1 单文件组件&#xff08;SFC&#xff09;2.2 全局组件注册2.3 局部组件注册 3. 组件命名格式4. ref获取DOM元素4.1 …...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...