Shell脚本编程基础(五)

news2024/11/10 15:47:34

五种常用文本工具和Crontab调度工具(二)

  1. cut: 用于从文本中提取特定的字段或列。
  2. grep: 用于搜索文本中的特定模式。
  3. awk: 用于处理和分析文本。
  4. sed: 用于文本替换和编辑。
  5. sort: 用于对文本行进行排序。

Crontab

Crontab 是用于定时任务调度的工具,可以用来定期执行脚本或命令。通过设定特定的时间表达式,来控制任务的执行频率。

这两类工具在功能和用途上有很大不同,但都在命令行环境中非常常用。

4. grep 命令

grep 是用于搜索文本的命令行工具,可以在文件中查找匹配的字符串。

语法
grep [选项] PATTERN [文件...]

常用选项

  • -i:忽略大小写。
  • -r-R:递归搜索目录。
  • -v:反转匹配,显示不匹配的行。
  • -n:显示匹配行的行号。
  • -c:统计匹配的行数。
  • -l:仅显示包含匹配的文件名。
  • -e:指定多个模式。

常用示例

1. 在文件中查找匹配的行
grep "pattern" filename.txt
2. 忽略大小写查找
grep -i "pattern" filename.txt
3. 在多个文件中查找
grep "pattern" file1.txt file2.txt
4. 递归查找目录中的文件
grep -r "pattern" /path/to/directory
5. 显示匹配行的行号
grep -n "pattern" filename.txt
6. 统计匹配的行数
grep -c "pattern" filename.txt
7. 反转匹配,显示未匹配的行
grep -v "pattern" filename.txt
8. 查找多个模式
grep -e "pattern1" -e "pattern2" filename.txt

5. sort 命令

常用选项:
  • -t :指定分隔符
  • -n:按数值排序
  • -r:以相反的顺序(降序)排序
  • -k :指定以第几列进行排序

案例

文件 data.txt,内容如下:

apple:5:2.1
banana:2:1.9
cherry:8:3.4
date:3:2.5
elderberry:7:1.8

需求

我们希望按照第二列的数值进行升序排列。

命令

指定以第二列进行排序:

sort -t : -nk 2 data.txt

结果

排序后的输出应为:

banana:2:1.9
date:3:2.5
apple:5:2.1
elderberry:7:1.8
cherry:8:3.4

命令

按照第三列降序排序:

sort -t : -nrk 3 data.txt

结果

降序排序后的输出为:

cherry:8:3.4
date:3:2.5
apple:5:2.1
banana:2:1.9
elderberry:7:1.8

6. crontab 命令

基本用法

crontab 用于定期调度任务,在指定时间自动执行脚本或命令。

编辑 Crontab

编辑当前用户的 crontab 文件:

crontab -e
查看 Crontab

查看当前用户的 crontab 任务:

crontab -l
删除 Crontab

删除当前用户的所有 crontab 任务:

crontab -r

说明:执行此命令后,用户的所有定时任务将被删除,小心使用,因为删除后无法撤销,如果需要删除一个特定的任务:

  1. 使用 crontab -e 打开编辑器。

    crontab -e
    
  2. 在编辑器中找到并删除你想要移除的那一行。

  3. 保存并退出编辑器。

Crontab 文件格式

每行表示一个任务,格式如下:

* * * * * command-to-execute

每个 * 的位置依次表示:分钟、小时、日、月、星期。

时间字段详解

  • 分钟(0-59)
  • 小时(0-23)
  • (1-31)
  • (1-12)
  • 星期(0-7,0 和 7 都表示星期日)

特殊符号

  • *:表示任何时间。
  • ,:表示分隔多个值。
  • -:表示一个范围。
  • /:表示步进。

常用示例

1. 每天凌晨2点运行脚本
0 2 * * * /path/to/script.sh
2. 每小时的第15分钟运行
15 * * * * /path/to/script.sh
3. 每周一上午8点运行
0 8 * * 1 /path/to/script.sh
4. 每隔5分钟运行一次
*/5 * * * * /path/to/script.sh
5. 每月的第一天运行
0 0 1 * * /path/to/script.sh
6. 每小时的第0、15、30和45分钟各执行一次
0,15,30,45 * * * * /path/to/script.sh
7. 每小时的第0到5分钟,每分钟执行一次
0-5 * * * * /path/to/script.sh
8. 每分钟执行一次脚本的例子
* * * * * /path/to/script.sh

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

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

相关文章

HarmonyOS开发实战(5.0)实现二楼上划进入首页效果详解

鸿蒙HarmonyOS开发实战往期必看文章: HarmonyOS NEXT应用开发性能实践总结 一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发! 最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门…

完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!

完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!! 亲测有效 完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!…

算法-深度拷贝链表(138)

深度拷贝一个链表可以分以下几个步骤: 步骤 1:插入新节点 目标:在每个节点后面插入一个复制的节点。步骤: 遍历整个链表。对于每个节点 current,创建一个新节点 newNode,其值为 current.val。将 newNode …

深入探讨IDSIPS:信息安全的未来趋势与应用

引言 在信息技术飞速发展的今天,网络安全问题愈发突出。随着数据泄露、网络攻击等事件频发,企业和个人对信息安全的重视程度不断提高。IDSIPS(Intrusion Detection System and Intrusion Prevention System)作为信息安全领域的重…

在Spring项目中,两个实用的工具(生成类与映射文件、API自动生成)

尊贵的Spring玩家,是不允许动脑思考的,所以我们要学会复制粘贴 1.生成类与映射文件 背景:在项目编写初期,我们已经设计好了表,后面就需要根据表来撰写实体类(model)和对应的sql语句(dao和mapper)。如果一个项目中&…

【动态规划】两个数组的 dp 问题一

两个数组的 dp 问题 1.最长公共子序列2.不相交的线3.不同的子序列4.通配符匹配 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.最长公共子序…

深度学习水印网络架构学习笔记

目前学习到的一些网络架构,简单整理如下。 1、END框架【嵌入器-噪声层-提取器】 HiDDeN: Hiding Data With Deep Networks. ECCV, 2018.END框架,对噪声层的设计。用可导操作模拟JPEG压缩的过程。 2、噪声层图像增强【Noise Layer】 MBRS: Enhancing R…

设计模式之外观设计模式

一、外观设计模式概念 外观模式 (Facade) 是一种结构型设计模式, 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式为复杂子系统提供了一个简单接口,并不为子系统…

[Python]案例驱动最佳入门:Python数据可视化在气候研究中的应用

在全球气候问题日益受到关注的今天,气温变化成为了科学家、政府、公众讨论的热门话题。然而,全球气温究竟是如何变化的?我们能通过数据洞察到哪些趋势?本文将通过真实模拟的气温数据,结合Python数据分析和可视化技术&a…

鸿蒙HarmonyOS开发:一次开发,多端部署(界面级)天气应用案例

文章目录 一、布局简介二、典型布局场景三、侧边栏 SideBarContainer1、子组件2、属性3、事件 四、案例 天气应用1、UX设计2、实现分析3、主页整体实现4、具体代码 五、运行效果 一、布局简介 布局可以分为自适应布局和响应式布局,二者的介绍如下表所示。 名称简介…

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Ng…

SQL优化-MySQL Explain中出现Select tables optimized away

文章目录 前言相关解释总结 前言 今天在做SQL优化的时候,在使用explain执行SQL时,出现了以下情况: EXPLAIN SELECT m1.id from station m1 INNER JOIN site s ON m1.codes.stationcode where receivetime(SELECT MAX(m2.receivetime) FROM…

基于Tesseract_OCR识别

1、安装Tesseract Mac版本,通过Homebrew进行安装即可brew install tesseract windows版本安装 下载地址:https://digi.bib.uni-mannheim.de/tesseract/ 2、更换语言包 下载语言包 https://github.com/tesseract-ocr/tesseract 亦可参照这个 Tessera…

【CTF Reverse】XCTF GFSJ1101 Mine- Writeup(反编译+动态调试+Base58编码)

Mine- 运气怎么这么差? 原理 Base58 Base58是用于比特币(Bitcoin)中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。 相比Base64,Base58不使用数字"0",字母大写"O"&…

Linux 文件权限详解与管理

文章目录 前言一、文件权限概述1. 权限表示格式2. 权限组合值 二、查看文件权限三、修改文件所有者与所属组1. 使用 chown 修改文件所有者2. 使用 chgrp 修改文件所属组3. 添加所有者 四、修改文件权限1. 符号方式2. 八进制方式 总结 前言 在 Linux 系统中,文件权限…

React + Vite 多环境配置

1.根目录创建文件: .env.dev //测试环境 .env.development //本地环境 .env.production //正式环境 .env.uat //预发布环境 注:变量名必须使用 VITE_API 开头 2.package.json 配置: --mode 设置读取制定 .env文件 ,默认读取.en…

Windows10安装cuda11.3.0+cudnn8.5.0,以及创建conda虚拟环境(pytorch)

1、检查电脑驱动版本为561.09&#xff0c;选择cuda版本&#xff0c;下图可知cuda版本<12.6。 nvidia-smi #查看驱动版本&#xff0c;以及最大可以安装的cuda版本 2、Anaconda3-2024.06-1-Windows-x86_64.exe下载&#xff1a; 官网&#xff1a;https://www.baidu.com/link?…

研究生存指南:必备Zotero插件,让你的文献管理更轻松

在读研阶段&#xff0c;我经常面临大量文献阅读和项目研究的任务。忽略文献整理会导致后续使用时非常不便&#xff0c;查找困难且混乱。导师向我们推荐了 Zotero&#xff0c;经过亲身试用&#xff0c;我发现它非常好用&#xff01;zotero有非常多的插件&#xff0c;能够一个就满…

了解Node开发基础知识

目录 定义架构应用场景安装版本工具代码执行REPL传递参数输出全局对象 定义 Node.js 是一个基于 V8 JavaScript 引擎构建的运行时环境&#xff0c;允许你在服务器端运行 JavaScript 代码。Node.js 允许开发者使用 JavaScript 编写服务器端代码&#xff0c;实现前后端代码的统一…

安全帽识别算法、安全帽智能识别、不戴安全帽检测算法

不戴安全帽检测算法是一种基于人工智能技术&#xff0c;用于实时监测和提醒工作人员是否正确佩戴安全帽的系统。以下是对不戴安全帽检测算法的详细介绍&#xff1a; 1. 技术原理 - 数据采集与预处理&#xff1a;通过安装在施工现场或工厂车间等场所的摄像头收集图像数据&#…