macos下的 sed命令安装与使用 gnu-sed

sed命令是我们在linu类系统中非常重要的一个命令, 但是在macos下面默认是没有sed命令的, 不过我们可以通过brew install gnu-sed ( 或者通过 sudo port install gsed  )这个软件包来获得这个命令

GNU sed 命令安装

下面2种方式,选择一种安装即可

# brew安装
brew install gnu-sed# macport 安装
sudo port install gsed

macos里面在brew install gnu-sed安装后的默认命令是 gsed, 如果我们希望使用sed命令需要在配置文件 ~/.bash_profile 里面增加命令别名:

alias sed="gsed "

或者在 ~/.bash_profile  中增加sed命令的路径到path

export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"

GNU sed 命令使用示例

sed(流编辑器)是一个非交互式命令行文本编辑器。

# 示例:删除文件中的第4行
$ sed '4d' input.txt > output.txt#示例:将第10-20行中每次出现的“hello”替换为“world”
$ sed '10,20s/hello/world/' input.txt > output.txt

sed通常用于过滤文本,即它接受文本输入,对其执行一些操作(或一组操作),并输出修改后的文本。sed通常用于使用模式匹配或替换文件中字符串的多次出现来提取文件的一部分。

参考 gnu sed官方使用手册

 sed, a stream editor

 

  • 1 Introduction
  • 2 Running sed
    • 2.1 Overview
    • 2.2 Command-Line Options
    • 2.3 Exit status
  • 3 sed scripts
    • 3.1 sed script overview
    • 3.2 sed commands summary
    • 3.3 The s Command
    • 3.4 Often-Used Commands
    • 3.5 Less Frequently-Used Commands
    • 3.6 Commands for sed gurus
    • 3.7 Commands Specific to GNU sed
    • 3.8 Multiple commands syntax
      • 3.8.1 Commands Requiring a newline
  • 4 Addresses: selecting lines
    • 4.1 Addresses overview
    • 4.2 Selecting lines by numbers
    • 4.3 selecting lines by text matching
    • 4.4 Range Addresses
  • 5 Regular Expressions: selecting text
    • 5.1 Overview of regular expression in sed
    • 5.2 Basic (BRE) and extended (ERE) regular expression
    • 5.3 Overview of basic regular expression syntax
    • 5.4 Overview of extended regular expression syntax
    • 5.5 Character Classes and Bracket Expressions
    • 5.6 regular expression extensions
    • 5.7 Back-references and Subexpressions
    • 5.8 Escape Sequences - specifying special characters
      • 5.8.1 Escaping Precedence
    • 5.9 Multibyte characters and Locale Considerations
      • 5.9.1 Invalid multibyte characters
      • 5.9.2 Upper/Lower case conversion
      • 5.9.3 Multibyte regexp character classes
  • 6 Advanced sed: cycles and buffers
    • 6.1 How sed Works
    • 6.2 Hold and Pattern Buffers
    • 6.3 Multiline techniques - using D,G,H,N,P to process multiple lines
    • 6.4 Branching and Flow Control
      • 6.4.1 Branching and Cycles
      • 6.4.2 Branching example: joining lines
  • 7 Some Sample Scripts
    • 7.1 Joining lines
    • 7.2 Centering Lines
    • 7.3 Increment a Number
    • 7.4 Rename Files to Lower Case
    • 7.5 Print bash Environment
    • 7.6 Reverse Characters of Lines
    • 7.7 Text search across multiple lines
    • 7.8 Line length adjustment
    • 7.9 Reverse Lines of Files
    • 7.10 Numbering Lines
    • 7.11 Numbering Non-blank Lines
    • 7.12 Counting Characters
    • 7.13 Counting Words
    • 7.14 Counting Lines
    • 7.15 Printing the First Lines
    • 7.16 Printing the Last Lines
    • 7.17 Make Duplicate Lines Unique
    • 7.18 Print Duplicated Lines of Input
    • 7.19 Remove All Duplicated Lines
    • 7.20 Squeezing Blank Lines
  • 8 GNU sed’s Limitations and Non-limitations
  • 9 Other Resources for Learning About sed
  • 10 Reporting Bugs
  • Appendix A GNU Free Documentation License
  • Concept Index
  • Command and Option Index

 

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

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

相关文章

栈 | 队列

系统栈主要保存以下内容: 1.局部变量,2.函数的形参和返回值 3.函数的调用关系 一、栈 1.基本概念 栈是一种特殊的线性表,具有线性结构。表尾为栈顶,表头为栈顶。遵循先进后出原则,只能在栈顶进行插入和删除操作。 …

下载Mongodb 4.2.25 版本教程

1、MongoDB 安装包的下载链接 Download MongoDB Community Server | MongoDB 进入如下截图: 2、查找历史版本 往下拉,点击“...”,找到”Archived releases”,点击进入 、 3、下载Mongodb 4.2.25 版本 找到如下图4.2.25版本下载链接,点击就可…

Python输出多位数

作者制作不易,关注、点赞、收藏一下吧! 1.第一种:正常直接用循环 以三位数为例: for i in range(100, 1000):print(i) 运行结果( 展示一部分 ): 图1-1 2.第二种:特定位数 以三位数为例: for i in range(1, 5): # 括号内指定那个位的范围for j in r…

【Java那些事】关于Git的使用

目录 下拉代码仓库篇 上传代码篇 下拉代码仓库篇 第一步,下拉代码,复制链接。 (从开源网站上复制链接) (建立本地仓库) 这里的URL一般都会自动填充刚刚复制的链接【瞅瞅,确保是想要的那个项…

oracle锁的机制

文章目录 oracle锁的机制1. 概括2.锁的模式3.锁查看 死锁1. 说明2.死锁产生条件3.解决死锁冲突4. 事务和死锁预防总结 oracle锁的机制 1. 概括 1)说明 锁是一种机制,多个事务同时访问一个数据库对象时,该机制可以实现对并发的控制 2&…

Android Dialog:Dialog和DialogFragment的区别?DialogFragment如何使用?源码解析

目录 一、Dialog和DialogFragment的区别 Android在DialogFragment推出后,就已经不推荐继续使用Dialog,可替换为DialogFragment: 更好的生命周期管理:DialogFragment能够自动处理Activity的生命周期事件,确保对话框在…

Git 撤回commit

上一篇,Git撤销add,其实已经讲了用reset命令可以取消commit,这里再啰嗦下。先看: git如何撤回已经commit • Worktile社区 首先明确一点,无论是commit还是撤销commit,都是在本地暂存区操作,而…

如何测试一个算法

目录 1.从参数上进行设计 2.从代码逻辑上进行设计 3.从代码性能上进行设计 4.考虑异常情况 5.总结 下面是冒泡排序的代码&#xff0c;我们如何针对这个代价进行测试? public void BubbleSort(int[] arr) {for (int i 0; i < arr.length; i) {for (int j 0; j < a…

CleanMyMac X2024最新官方中文破解版本下载

&#x1f9f9; 嘿&#xff0c;Mac用户们&#xff0c;你们的小助手来了&#xff01; 今天要跟大家分享的&#xff0c;是一个能让你们的电脑焕发新生的神器——CleanMyMac X。这可不是一般的清洁工&#xff0c;它可是拥有超能力的超级英雄哦&#xff01;&#x1f31f; CleanMyMa…

第 1 章:原生 AJAX

原生AJAX 1. AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。通过 AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。AJAX 不是新的编程语言&#xff0c;而是一种将现有的标准组合在一…

文章如何进行谷歌SEO优化?

内容绝对是谷歌seo最花时间以及成本&#xff0c;内容基本决定一个网站的生死&#xff0c;所以文章绝对要重视&#xff0c;而想写好一篇适用于谷歌seo的文章&#xff0c;首要保证的是内容的质量和原创性&#xff0c;这是SEO的核心&#xff0c;对于一篇seo文章来说&#xff0c;关…

MySQL-进阶篇-锁(全局锁、表级锁、行级锁)

文章目录 1. 锁概述2. 全局锁2.1 介绍2.2 数据备份2.3 使用全局锁造成的问题 3. 表级锁3.1 表锁3.1.1 语法3.1.2 读锁3.1.3 写锁3.1.4 读锁和写锁的区别 3.2 元数据锁&#xff08;Meta Data Lock&#xff0c;MDL&#xff09;3.3 意向锁3.3.1 案例引入3.3.2 意向锁的分类 4. 行级…

Java项目:140 springboot203医疗挂号管理系统

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 一共有管理员、挂号人员、划价人员、医生 四个角色 管理员登录进入本系统操作的功能包括对挂号人员&#xff0c;划价人员&#xff0c;患者&#xff0…

828华为云征文|华为云Flexus X实例MySQL性能加速评测及对比

目录 前言 一、Flexus云服务器X介绍 1.1 Flexus云服务器X实例简介 1.2 Flexus云服务器X实例特点 1.3 Flexus云服务器X实例场景需求 二、Flexus云服务器X购买 2.1 Flexus X实例购买 2.2 购买MySQL加速镜像 2.3 重置密码 2.4 登录服务器 三、Flexus X实例加速MySQL测试 3.1 sysbe…

深入Linux轻量级进程管理:线程创建、线程ID解析与进程地址空间页表探究

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 &#x1f6b2;Linux线程控制&#x1f40f;POSIX线程库&#x1f415;创建线程&#x1f41f;指令查看轻量级进程指令&#xff1a;ps -a…

java框架第五课(终极版本)SpringBoot

一.关于SpringBoot (1)回忆Spring 传统的Spring由Spring 框架(ioc,aop)加mybatis加Springweb组成&#xff0c;虽然相比原生的java程序Spring框架帮我们大大减少了代码量&#xff0c;减少了冗余&#xff0c;提高了开发效率但是由于Spring框架下的配置和相关的jar包依赖过多&am…

Denodo 连续 4 年获评 Gartner® 数据集成工具魔力象限™ 领导者

Gartner 在其 2023 年数据集成工具魔力象限中连续第四年将 Denodo 评为“领导者”。 Gartner 表示&#xff1a;“由于对数据编织架构、数据产品交付以及支持生成式 AI 的集成数据的需求即将到来&#xff0c;数据集成工具市场正在蓬勃发展。数据和分析领导者应该利用这项研究来…

RabbitMQ 基础架构流程 数据隔离 创建用户

介绍 publisher&#xff1a;消息发送者-exchange&#xff1a;交换机&#xff0c;复制路由的消息-queue&#xff1a;队列&#xff0c;存储消息consumer&#xff1a;消息的消费者 工作流程 publisher消息发送者 -> exchange 交换机 -> queue 队列 -> consumer 消息的消…

基于STM32的多功能车位锁设计

本设计基于STM32的多功能车位锁&#xff0c;该系统主要包括&#xff1a;测距模块、光强采集模块、主控芯片模块、显示模块、摄像模组等。系统以STM32单片机作为主控芯片用来对系统中的外设进行控制并且对传输过来的数据进行处理。通过K210模块来实现图像识别的功能检测车牌是否…

加码产品创新、革新搜索体验 夸克登顶“AI产品榜”月榜

随着人工智能应用到生活中的方方面面&#xff0c;AI生产力工具实现了快速爆发。日前&#xff0c;AI新榜发布8月“AI产品榜”&#xff0c;阿里巴巴旗下夸克凭借一系列产品创新和大模型能力跃升占据首位。在升级App端“超级搜索框”、推出PC端“系统级全场景AI”后&#xff0c;夸…