x-cmd pkg | sd - sed 命令的现代化替代品

这篇具有很好参考价值的文章主要介绍了x-cmd pkg | sd - sed 命令的现代化替代品。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

sd 是一个基于正则表达式的搜索和替换文本的命令行工具,类似于 sed,但 sd 使用更简单,对用户更为友好。

首次用户快速上手

  1. 使用 x sd 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 sd 命令常用功能的 demo 示例,可以帮你快速上手 sd 。

  3. 使用案例

    x-cmd pkg | sd - sed 命令的现代化替代品,sd,sed,字符替换,cli文章来源地址https://www.toymoban.com/news/detail-795112.html

    # 从 stdin 中获取数据并将其中的逗号替换为换行符
    echo 'before, after' | x sd ',' '\n'
    
    # 从包含斜杠的字符串中提取内容
    echo "sample with /path/" | x sd '.*(/.*/)' '$1'
    
    # 将字符串中的数字用括号括起来
    echo 'f(x) = 4x + 12' | x sd '(\d+)' '($1)'
    
    # 对文件内容进行查找替换后输出到 stdout ,而不写入文件中
    x sd -p temp i path/file
    
    # 对文件内容进行查找替换并保存到文件中
    x sd temp i path/file
    

主要特点

  1. 使用通用正则表达式语法(与 JavaScript 和 Python 中的正则类似的语法)。相比之下,sed 使用的正则表达式比较别具一格,给用户带来额外的学习成本和维护难度。
  2. sd 还支持字符串文本模式进行查找和替换。
  3. 易于书写,易于阅读,易于维护。查找和替换表达式是分开的,这样您就不再需要使用反斜杠或记住哪些字符是特殊的需要转义的。
  4. 相比 sed,其默认设置往往更适用大多数典型场景。以最经典的从配置文件替换相应的值为例。
    1. sd 默认就是支持的: sd before after file.txt,简洁直观
    2. 在 sed 中,需额外采用 -i 这个参数: sed -i -e 's/before/after/g' file.txt
    3. sed 之所以略为麻烦,是因为其管道优先的设计理念,输出是默认到标准输出。而 sd 则是默认直接修改文件,这样更符合用户的直觉。
  5. sd 使用 rust 编写,性能优秀。在部份场景上,sd 甚至有相对 sed 更好的效率,详情请参考官方提供的 Benchmark。

进一步阅读

  • 项目托管在 GitHub 上,里面的 README 文档提供了详细的参数功能和使用说明
  • 如果你想要学习如何在 Linux 上使用 sd 命令查找和替换,可以参考这篇文章 linux-sd-command
  • sd vs sed 是官方提供的对比文档,可以帮助你更好的理解 sd 的特点。

到了这里,关于x-cmd pkg | sd - sed 命令的现代化替代品的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • x-cmd pkg | trash-cli - 类 Unix 系统的命令行垃圾桶

    trash-cli 是类 Unix 系统的命令行垃圾桶,用于移动文件到回收站,同时会记录文件的原地址和删除日期。 该工具使用与 GNOME、KDE ​​和 XFCE 等桌面环境相同的垃圾桶,所以即使是非 GUI 系统,也可以满足以下使用垃圾桶的需求: 删除文件:使用 trash-put 命令将文件移动到 $HO

    2024年01月17日
    浏览(50)
  • Day956.代码现代化 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 代码现代化 的内容。 代码现代化的主要模式。 大体的脉络是这样的: 先对代码做可测试化重构,并添加测试; 在测试的保护下,安全地重构; 在测试的保护下,将代码分层。 先来看看 如何让代码变得可测 ,这是遗留系统现代化的

    2024年02月01日
    浏览(146)
  • Day960.架构现代化-微服务 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 架构现代化-微服务 的内容。 在 自治气泡模式 的基础上,通过 事件拦截 来实现 数据同步 ,给气泡和遗留系统之间又加上 API 访问 这个通信渠道。 这时的自治气泡就和真正的微服务差不多了。 有了这种模式,在开发一个全新的需求时

    2024年02月02日
    浏览(81)
  • 《遗留系统现代化》读书笔记(基础篇)

    目录 为什么要对遗留系统进行现代化? 什么是遗留系统?  遗留系统的现代化价值 总结 遗留系统的四化建设 代码现代化 架构现代化 DevOps 现代化 团队结构现代化 总结 本文地址:《遗留系统现代化》读书笔记(基础篇)_陆业聪的博客-CSDN博客  你现在所写的每一行代码,

    2024年02月16日
    浏览(52)
  • 微前端详解(可扩展的现代化前端架构)

    什么是微前端? 微前端是一种通过将前端应用程序拆分成更小、更独立的部分来构建应用程序的方法。每个部分都可以独立开发、测试、部署和维护,同时又能够无缝地集成到整体应用程序中。微前端的目标是解决单体应用程序的复杂性和僵化性,使团队能够更加灵活地工作

    2024年03月22日
    浏览(60)
  • Day963.如何拆分数据 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 如何拆分数据 的内容。 如何拆分数据 ,这个场景在建设新老城区,甚至与其他城市(外部系统)交互时都非常重要。 作为开发人员,理想中的业务数据存储方式是什么样呢? 当然是负责一个业务的数据都在一张或几张名称相关的表中

    2024年02月03日
    浏览(47)
  • 云原生微服务:现代化应用开发的支柱

    云原生微服务是一种创新的应用架构模式,它结合了云计算和微服务架构的最佳实践。本文将介绍云原生微服务的定义、特点和优势,并探讨它在现代化应用开发中的重要性和应用。 在当今数字化时代,企业面临着日益复杂的应用开发挑战。传统的单块应用已经无法满足快速

    2024年01月19日
    浏览(74)
  • 深入探索Angular:构建现代化的Web应用

    Angular是一种流行的前端开发框架,被广泛用于构建现代化的Web应用。作为一名技术专家,我们需要深入了解Angular的核心原则和设计思想,并学会如何应用它来构建出色的Web应用。本篇博客将详细介绍Angular,包括其基本概念、关键组件以及实际案例。 Angular是一个基于TypeScr

    2024年02月12日
    浏览(73)
  • 现代化 Android 开发:Jetpack Compose 最佳实践

    作者:古哥E下 如果一直关注 Compose 的发展的话,可以明显感受到 2022 年和 2023 年的 Compose 使用讨论的声音已经完全不一样了, 2022 年还多是观望,2023 年就有很多团队开始采纳 Compose 来进行开发了。不过也有很多同学接触了下 Compose,然后就放弃了。要么使用起来贼特么不顺手

    2024年02月17日
    浏览(71)
  • 【观察】以超融合创新架构,加速企业应用现代化

    我们知道,数字化转型的不断加速,核心就是应用的加速。在整个数字化体系中,软件应用是让一切发挥价值的落地路径。在应用发挥能力之前,企业需要进行大量软硬件准备以及应用开发工作;在应用开始发挥能力之,企业也需要进行大量的运维、管理、安全工作,来确保

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包