多行文本转成一行的实现方法

news2024/11/16 13:39:32

哈喽大家好,我是咸鱼

不知道你们有没有遇到过下面的情况,以我为例

有时候我会收到批量操作服务器的需求,且我会拿到一个服务器 ip 列表,它是一个多行的形式,如下所示

# ip 列表
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6

但我使用 saltstack 进行批量操作时,我需要将上面的多行 ip 转成一行的形式才能执行 saltstack 命令

192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6

# saltstack 批量操作命令例子 
salt -L '192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6' cmd.run 'ls -l'

如果是少量 ip,直接手动操作就行;如果 ip 数量特别多,手动转换的话就特别的麻烦了

下面我将介绍两个比较常见的多行文本转一行的实现方法,如果大家有更好的方法的话,欢迎大家积极讨论参与!

shell 命令实现

tr 命令

tr 命令用于转换或删除文本中的字符,我们可以通过 tr --help 来查看它的帮助文档

下面是一些关于 tr 命令的例子

#替换字符
echo "hello" | tr 'o' 'a'   # 输出结果:hella

#删除字符
echo "hello" | tr -d 'l'   # 输出结果:heo

#压缩连续字符:
echo "hello" | tr -s 'l'   # 输出结果:helo

知道了这个命令的大概用法之后,我们就可以通过 tr 命令来实现多行转一行

#命令如下:
cat <<EOF | tr '\n' ','
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
EOF

上面的命令可以分为两个部分,第一部分如下:

#第一部分
cat <<EOF 
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
EOF
  • 使用 cat 命令和 <<EOF 结构,它指示将下面的文本内容作为输入传递给 cat 命令
  • EOF:终止符,用于标识输入的结束

EOF在Linux中是一种约定的标记,用于指示输入的结束,它在不同的上下文中有不同的用途

在Here Document结构中,EOF用于标记输入文本的开始和结束;在文件输入中,EOF用于表示输入的结束

有关 Here Document 内容:Here Document and Here String | Baeldung on Linux

上面命令输出如下:

接下来我们来看第二部分

#第二部分
tr '\n' ','

使用 tr 命令,它将 '\n' (换行符)替换为逗号 ','tr 命令用于字符转换,'\n' 是被替换的字符,',' 是替换的字符

第一部分和第二部分通过管道符 | 连接起来,表示将 cat 命令的输出传递给 tr 命令处理

我们来看下输出结果

在这里插入图片描述

Notepad++ 实现

这个方法适用于在 Windows 系统,用 Notepad 实现

把多行 IP 复制到 Notepad 中,然后选中内容——>输入查找目标和替换内容——>点击全部替换(注意下面的查找模式换成正则表达式)
在这里插入图片描述

  • \r\n 表示换行符,(.+) 表示匹配任意字符,且至少匹配一次
  • \1 表示引用查找到的文本,, 表示逗号

需要注意的是,替换换行符之前你得先知道文本内容中的换行符是 Windows 格式(\r\n) 还是 UNIX 格式(\n
在这里插入图片描述

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

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

相关文章

原油天然气的区别和用途

原油天然气在市场交易中都是重要的交易产品&#xff0c;经常有小伙伴在后台咨询Forexclub&#xff0c;原油天然气的区别和用途&#xff0c;今天这篇文章就和小伙伴一起交流研究。 其实在Forexclub看来原油和天然气的提取方法、来源和用途几乎相同&#xff0c;只是在适用范围和运…

推荐系统构建

从0到1打造推荐系统工程实战_推荐系统_Jay Wu_InfoQ写作社区

并行程序设计 pthread

配置环境 pthread是c的扩展库&#xff0c;需要配置环境&#xff0c;不过vscode的mingw里面本来就有&#xff0c;谢谢呢^_^ cd “d:\sylvia\文件夹等等等” ; if ($?) { g helloworld.cpp -o helloworld } ; //编译 if ($?) { .\helloworld 线程数} //运行 常用变量声明及函…

三雄极光“设计有光·亚洲设计师迪拜对话”逐光之旅圆满收官

7月8日&#xff0c;三雄极光照明学院“设计有光亚洲设计师迪拜对话”游学旅程圆满收官。过去两周内&#xff0c;此次活动备受关注&#xff0c;设计大咖纷纷为此次迪拜游学一带一路逐光之旅打call。出发前&#xff0c;启动礼于三雄极光总部隆重举行&#xff0c;总裁张宇涛出席并…

F - Desktop Rearrangement

大意: 给你一个桌面状态,每次俩种操作桌面可以表示为一个大小为nm的矩形矩阵&#xff0c;由字符.&#xff08;桌面上的空单元格&#xff09;和*&#xff08;一个图标&#xff09;组成。 操作: 输入<x,y>表示改变其状态的单元格的位置&#xff08;如果该单元格以前包含…

如何在.NET 自动安装包项目(Visual Studio Installer Projects)中设置安装包自动安装 .NET Framework环境

如何在.NET 自动安装包项目(Visual Studio Installer Projects)中设置安装包自动安装 .NET Framework环境 前言 ​ Microsoft Visual Studio Installer Projects是一组用于创建安装程序的工具&#xff0c;它是Microsoft Visual Studio的扩展。这些工具允许开发人员在Visual St…

Java开发基础系列(二):数据类型

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; Java开发基础系列(二):数据类型 ⏱️ 创作时间&#xff1a; 2023年07月…

生产消费者模型

生产消费者模型概念 生产消费者模型实际上就是通过一个容器&#xff0c;将生产者和消费者之间的强耦合问题解决掉。 没有使用生产者消费者模型时&#xff0c;生产者和消费者之间直接相互联通&#xff0c;两者之间强耦合&#xff0c;若是一方更换&#xff0c;那另一方也需要随之…

在 Jetpack Compose 中使用 ViewPager

简介 Jetpack Compose 是一个现代化的&#xff0c;声明式的 UI 工具包&#xff0c;让我们可以更方便地构建原生 Android UI。在本篇文章中&#xff0c;我们将会讨论如何在 Jetpack Compose 中使用 ViewPager。 什么是 ViewPager? ViewPager 是一个提供左右滑动切换视图的 U…

DynaSLAM代码详解(2) — Mask RCNN物体检测框架

目录 2.1 前言 2.2 Mask R-CNN优点 2.3 Mask R-CNN框架解析 (1) Mask R-CNN算法步骤 (2) Faster-R-CNN (3) FCN (4) ROIPooling和ROIAlign的分析与比较 (5) Mask R-CNN损失 参考链接&#xff1a; &#xff08;1&#xff09;Mask R-CNN网络详解_fcn太阳花的小绿豆_太…

Java开发专家阿里P6-P7面试题大全及答案汇总(持续更新)二十七、Ribbon和Feign的区别...

一、CPU100%问题如何快速定位 答案 1.执行top -c &#xff0c;显示进程运行信息列表 键入P (大写p)&#xff0c;进程按照CPU使用率排序 2.找到最耗CPU的线程 top -Hp 10765 &#xff0c;显示一个进程的线程运行信息列表 键入P (大写p)&#xff0c;线程按照CPU使用率排序 …

IDEA集成Maven

目录 配置Maven环境 创建Maven项目 Maven坐标 导入Maven项目 Maven依赖管理&#xff08;核心&#xff09; 配置Maven环境 两种方法 每没创建一个maven项目都需要在项目中配置一遍在所有设置中进行全局设置&#xff0c;适用于所有的maven项目 步骤 在idea的初始界面中找到所…

ASEMI整流桥2W10的结构特点和应用领域

编辑-Z 整流桥2W10是一种常用的电子元件&#xff0c;用于将交流电转换为直流电。本文将从工作原理、结构特点、应用领域和发展趋势四个方面对整流桥2W10进行详细阐述。 工作原理 整流桥2W10是由四个二极管组成的桥式整流电路。当输入的交流电信号通过整流桥时&#xff0c;根据…

文心大模型3.5完成内测

据报道&#xff0c;日前&#xff0c;百度文心大模型3.5版本已经完成内测应用&#xff0c;并在三大公开测试集上展现了出色的表现&#xff0c;其综合能力评测得分已经超过ChatGPT&#xff0c;部分中文能力甚至超越了GPT-4。 根据《中国科学报》的报道&#xff0c;3月份&#xf…

2023年全球零信任现状报告发布丨面临集成挑战,如何突破知易行难?

近日&#xff0c;专注网络与安全融合的全球网络安全领导者Fortinet&#xff08;NASDAQ&#xff1a;FTNT&#xff09;宣布发布《2023年全球零信任现状报告》及其调查发现。该报告揭示了零信任安全当前部署和实施现状&#xff0c;以及 IT 团队在应对后疫情时代的混合办公模式的安…

还找不到好用的UI设计工具,来看这篇

即时设计是一个基于云的在线协作工具&#xff0c;专门为国产设计团队打造。与其它在线协作工具相比&#xff0c;即时设计具有更强的项目团队合作功能&#xff0c;也更容易实现上手操作。它可以帮助企业或团队从0到1的创建、测试和交付的设计项目。在即时设计的帮助下&#xff0…

更快地分割任何事物:面向移动应用的轻量级Sam

文章目录 摘要1、简介2、相关工作3、适合移动设备的SAM3.1、背景和项目目标3.2、提出方法 4、实验4.1、实验设置4.2、MobileSAM的性能与原版SAM相当4.3、MobileSAM优于FastSAM 5、结论 摘要 https://arxiv.org/pdf/2306.14289v2.pdf 分割任何事物模型(SAM)因其令人印象深刻的零…

健身器材BS EN ISO 20957标准

健身器材出口欧洲需要符合CE认证的 BS EN ISO 20957标准&#xff0c;而且 BS EN ISO 20957规定了固定训练设备的安全要求和试验方法&#xff0c;也就是固定训练设备在使用过程中的一般安全要求。这包括用于体育协会&#xff0c;教育机构&#xff0c;酒店&#xff0c;体育馆&…

Lazada官方运营服务商分享;店铺没流量?优化好标题是关键

一.商品标题简介 Q:商品标题是什么&#xff1f; A:商家上传商品时&#xff0c;填写的标题&#xff0c;会展示在PDP页面上端 Q:为什么商品标题很重要&#xff1f; A:商品标题可根据买家搜索的关键字来将商品呈现在搜索结果中&#xff0c;因此&#xff0c;需要在商品标题中尽…

欧科云链联合大湾区警方共话区块链安全

为了应对日益严峻的区块链衍生犯罪&#xff0c;日前欧科云链联合粤港澳大湾区警务人员在深圳开展了为期一天的三地警务研讨会&#xff0c;期间获得包括香港商报、澳门日报、澳门法治报、澳门商报、香港雅虎财经等多家港澳权威媒体的报道&#xff0c;引发三地警务机关的高度关注…