【shell】shell指令学习

仅供本人自学,完全从自己可以理解的角度写的,知识点都是copy网上已有的学习资料,侵权请联系本人删除,谢谢。

1. 文本资料学习

学习Linux,从掌握grep、sed、awk开始吧。
Linux文本三剑客超详细教程—grep、sed、awk

grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。

开始copy知识点:

(1) grep

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
egrep = grep -E:扩展的正则表达式 (除了< , > , \b 使用其他正则都可以去掉\)
在这里插入图片描述
在这里插入图片描述

正则表达式:
在这里插入图片描述
(2) sed

功能:主要用来自动编辑一个或多个文件, 简化对文件的反复操作
在这里插入图片描述
sed里单引号和双引号的作用区别:
双引号里可以使用shell里的变量;单引号不能。
单引号和双引号里都可以存放模式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习题:

shell命令三剑客之sed命令详解

显示文件的第一行,第二行
sed -n ‘1,2p’ sed.txt 或者
sed -n ‘3,$!p’ sed.txt
显示文件的第二行至第五行
sed -n ‘2,5p’ sed.txt 或者
sed -n ‘2,+3p’ sed.txt
显示文件的1,3,5行
sed -n ‘1p;3p;5p’ sed.txt

加入模式
显示包含2的行
sed -n ‘/2/p’ sed.txt
不显示1开头的行
sed -n ‘^1!p’ sed.txt
显示以2结尾的行
sed -n ‘/2$/p’ sed.txt
显示以1和3开头的行
sed -n ‘/ ^ [1,3]/p’ sed.txt

commend操作: d 删除操作
删除空行和注释
sed -r ‘/^$/ ^#/d’ sed.txt 操作:-r 支持扩展正则表达式
删除空行再删除注释
sed -e ‘/^ $/d’ -e ‘/^#/d’ sed.txt 或者
sed ‘/^ $/d;/^#/d’ sed.txt

commend操作: r 读入操作
在sed.txt文件的末尾后面读入/etc/passwd文件的所有内容
sed '/$r /etc/passwd/ sed.txt

commend操作:w 写入操作
将文件/etc/passwd的第一行写到sed.txt文件中
sed ‘1w sed.txt’ /etc/passwd

commend操作:s 替换操作
将sed.txt文件中的空格全部替换为冒号
sed ‘s/ /:/g’ sed.txt
在文件sed.txt的2到3行前面加上注释
sed -n ‘2,3s/^/#/p’ sed.txt
在文件sed.txt的每行末尾加上问号
sed -n ‘s/$/?/p’ sed.txt

(3) awk

awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

下面记录博主斯言甚善 写的博文:awk命令的操作,看这一篇文就够了
awk工作流程可分为三个部分:
读输入文件之前执行的代码段(由BEGIN关键字标识);
主循环执行输入文件的代码段;
读输入文件之后的代码段(由END关键字标识)。
在这里插入图片描述
在这里插入图片描述

2. 视频学习

哔哩哔哩上面观看黑马程序员老师讲的视频,发现正是自己需要的,讲得浅显易懂,我能够学进去对自己而言就是最好的学习资料。附上视频链接如下:

https://www.bilibili.com/video/BV1st411N7WS?p=4&spm_id_from=pageDriver

下面都是我观看视频后的一些笔记(主要是截频)

软件包管理:yum工具

网络协议:
在这里插入图片描述
ssh:远程管理协议
scp: 数据同步,不能实现数据的实时同步
文件共享服务

shell通配符
shell小工具的使用:grep、cut、sort
grep:行过滤工具
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打印行号
在这里插入图片描述
在这里插入图片描述
cut:列截取
截取每行的第5个字符
在这里插入图片描述
指定冒号":"分隔符,截取第一列和第三列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只去除重复连续的行

在这里插入图片描述
tee默认是覆盖写入文件,加“-a”是追加写入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
awk是一种编程语言,主要对文本及数据进行处理的。逐行扫描的,从第一行到最后一行,寻找匹配特定模式的行,找到后进行想要的操作。
print是awk的打印函数,可以匹配正则表达式。
在这里插入图片描述
gawk是awk的GNU版本。awk软链接到gawk。
在这里插入图片描述
统计网站的访问量、IP量。
支持条件判断、循环,比sed强大很多。
在这里插入图片描述
单引号中可以使地址定位也可以使执行指令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打印出文件的所有行:
在这里插入图片描述
打印文件的第一行至第五行:
NR:地址定位
在这里插入图片描述
不加打印peint动作,默认也会打印出来
在这里插入图片描述

打印出第一行或者第五行:
在这里插入图片描述
打印出以冒号分隔的第一列到最后一列:
$NF是最后一列
在这里插入图片描述
打印出以冒号分隔的第一列到最后一列,以及打印出倒数第二列:
在这里插入图片描述
打印出文件的列数,awk是逐行处理文本的
在这里插入图片描述
练习题:
在这里插入图片描述
awk是逐行处理文本的
NR1,NR5和/^root/是两个条件,第一个是第一行的内容,第二个是第五行的内容,第三个是以root开头的行,满足这几个条件的行都会被打印出来。
在这里插入图片描述
awk按照分隔符打印出来之后,默认以“空格”分割

用“OFS”指令指定分割符
在这里插入图片描述
定义输入间隔符和输出间隔符
在这里插入图片描述
不定义输入间隔符,用双引号引起来输出间隔符
在这里插入图片描述
RS:定义换行,awk默认换行符结尾的就是一行
RS和ORS了解即可,最常用的是“FS”和“OFS”
在这里插入图片描述
在这里插入图片描述
print函数会自动换行,printf函数默认不会在结尾自动换行,要加“\n",echo默认不会换行,echo -n才会自动换行
在这里插入图片描述
在这里插入图片描述
awk中定义变量,变量前不需要加$符号

打印变量3,后面跟了文件名称,awk每行都打印出变量3
在这里插入图片描述
不敲BEGIN,敲一下回车键打印出一个变量3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正则表达式
在这里插入图片描述
在这里插入图片描述
打印1至5行并且包含以root开头的行
在这里插入图片描述
前导字符出现一次或多次
在这里插入图片描述
在这里插入图片描述
$(id -u)==0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
计算1-10以内奇数的和
在这里插入图片描述
使用awk实现:计算1-10以内奇数的和
在这里插入图片描述
awk处理的对象是文本或者数据,管道符前面的是awk的处理对象,处理对象是数据,每处理一行的数据就将数据赋值给$0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

排序算法--选择排序

实现逻辑 ① 第一轮从下标为 1 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第一个数&#xff0c;则交换 ② 第二轮从下标为 2 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第二个数&#xff0c;则交换 ③ 依次类推下去…… void print_array(int a[], int n){f…

NX二次开发UF_CAM_PREF_ask_logical_value 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_ask_logical_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_ask_logical_value(UF_CAM_PREF_t pref, logical * value ) overview 概述 This function provides …

线性代数 - 几何原理

目录 序言向量的定义线性组合、张成空间与向量基线性变换和矩阵线性复合变换与矩阵乘法三维空间的线性变换行列式矩阵的秩和逆矩阵维度变换点乘叉乘基变换特征值和特征向量抽象向量空间 序言 欢迎阅读这篇关于线性代数的文章。在这里&#xff0c;我们将从一个全新的角度去探索线…

python算法例16 数字判断

1. 问题描述 给定一个字符串&#xff0c;验证其是否为数字。 2. 问题示例 &#xff02;0&#xff02;判断为True&#xff0c;&#xff02;0.1&#xff02;判断为True&#xff0c;&#xff02;abc&#xff02;判断为False&#xff0c;&#xff02;1 a&#xff02;判断为False…

获取Greenplum 的元数据信息,schema下面的表和列信息

查询指定schema下面的表 select | || t.tablename as tab_name, coalesce(replace(obj_description((t.SCHEMANAME||."||t.TABLENAME||") ::regclass), |, ),) || | AS tab_desc from pg_tables t where t.schemaname dcf_user and not exists (select x f…

2304. 网格中的最小路径代价 : 从「图论最短路」过渡到「O(1) 空间的原地模拟」

题目描述 这是 LeetCode 上的 「2304. 网格中的最小路径代价」 &#xff0c;难度为 「中等」。 Tag : 「最短路」、「图」、「模拟」、「序列 DP」、「动态规划」 给你一个下标从 0 开始的整数矩阵 grid&#xff0c;矩阵大小为 m x n&#xff0c;由从 0 到 的不同整数组成。 你…

【每日一题】2304. 网格中的最小路径代价-2023.11.22

题目&#xff1a; 2304. 网格中的最小路径代价 给你一个下标从 0 开始的整数矩阵 grid &#xff0c;矩阵大小为 m x n &#xff0c;由从 0 到 m * n - 1 的不同整数组成。你可以在此矩阵中&#xff0c;从一个单元格移动到 下一行 的任何其他单元格。如果你位于单元格 (x, y) …

集成电路工厂用什么ERP?哪家的集成电路ERP比较好

集成电路通常对制造工艺、生产设备、品质检验等方面有较高的要求&#xff0c;而随着智能技术和自动化技术的发展成熟&#xff0c;如今集成电路行业逐渐迈入数字化和智能化阶段&#xff0c;而至这个时代背景当中&#xff0c;很多集成电路工厂借助ERP实现信息化转型升级。 时至今…

(论文阅读58-66)视频描述

58.文献阅读笔记&#xff08;LRCNs&#xff09; 简介 题目 Long-term Recurrent Convolutional Networks for Visual Recognition and Description 作者 Jeff Donahue, Lisa Anne Hendricks, Marcus Rohrbach, Subhashini Venugopalan, Sergio Guadarrama, Kate Saenko, T…

台灯应该买什么样的才能护眼?权威榜五大上榜护眼台灯品牌推荐

《中华眼视光学与视觉科学杂志》上的一篇文章称&#xff0c;近视是世界范围内的高发疾病&#xff0c;当前全球近视患病率超过28.3%&#xff0c;预计到2050年将达到49.8%。 据国家卫生健康委员会数据显示&#xff0c;我国超7亿人为近视患者&#xff0c;其中&#xff0c;儿童青少…

特征工程完整指南 - 第一部分

苏米特班迪帕迪亚 一、说明 特征工程是利用领域知识从原始数据中提取特征的过程。这些功能可用于提高机器学习算法的性能。本篇叙述在特征选择过程的若干数据处理。 一般来说&#xff0c;特征工程有以下子步骤&#xff1a; 特征转换特征构建特征选择特征提取 二、特征转换的缺…

全志R128芯片RTOS调试指南

RTOS 调试指南 此文档介绍 FreeRTOS 系统方案支持的常用软件调试方法&#xff0c;帮助相关开发人员快速高效地进行软件调试&#xff0c;提高解决软件问题的效率。 栈回溯 栈回溯是指获取程序的调用链信息&#xff0c;通过栈回溯信息&#xff0c;能帮助开发者快速理清程序执行…

Jemeter的简单使用教程(压测)

Jemter 使用教程&#xff08;压测&#xff0c;吞吐量测试&#xff09;_jemter教程-CSDN博客 启动Jmeter 打开bin包下的Jmeter.bat启动jmeter 使用Jmeter编写测试计划 1.新建测试计划 这里命名为了测试计划 2.添加线程组 线程组参数详解&#xff1a; 线程数&#xff1a;模拟…

『亚马逊云科技产品测评』活动征文|利用EC2云服务器快速部署一个SpringBoot项目

&#xff08;授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道&#xff09; 1. 前言 本文主要是对亚马逊云科技的EC2进行体…

基于野马算法优化概率神经网络PNN的分类预测 - 附代码

基于野马算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于野马算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于野马优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

Centos8部署MySQL主从复制报错问题

问题1.在部署MySQL主从复制时&#xff0c;创建用户提示ERROR 1819&#xff1a;Your password does not satisfy the current policy requirements。即为当前配置的密码&#xff0c;不符合策略要求。 问题1解决方式&#xff1a; set global validate_password.policyLOW; \\…

Sulfo-CY5 DBCO的荧光特点、激发发射-星戈瑞

**Sulfo-CY5 DBCO是一种近红外荧光标记探针&#xff0c;具有以下荧光特点&#xff1a; 激发波长&#xff1a;**Sulfo-CY5 DBCO的激发波长位于近红外区域&#xff0c;通常在650-670纳米之间。近红外光在生物体内具有较好的组织穿透性&#xff0c;能够减少组织自发荧光的干扰&…

Redis-Redis持久化,主从哨兵架构详解

Redis持久化 RDB快照&#xff08;snapshot&#xff09; 在默认情况下&#xff0c; Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置&#xff0c; 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时&#xff0c; 自动保存一次数…

python数据结构与算法-13_高级排序算法-分治法

分治法 (Divide and Conquer) 很多有用的算法结构上是递归的&#xff0c;为了解决一个特定问题&#xff0c;算法一次或者多次递归调用其自身以解决若干子问题。 这些算法典型地遵循分治法的思想&#xff1a;将原问题分解为几个规模较小但是类似于原问题的子问题&#xff0c;递…