如何一致地逐行合并两个文件

2023-11-24

我有两个文件(文件1.txt & 文件2.txt)。这些文件只是示例。

如何合并这两个文件,以创建文件 -合并文件.txt如示例3?

我现在正在写一个康壳公司 (ksh) 脚本,因此可以使用 KornShell 完成合并,AWK, sed, a Perl单线等

背景 - 为什么我需要合并文件:我的目标是重命名old文件(存在于第一个字段中)到new文件(存在于第二个字段中)。

实施例1

File 文件1.txt

/etc/port1-192.9.200.1-255.555.255.0
/etc/port2-192.9.200.1-255.555.255.0
/etc/port3-192.9.200.1-255.555.255.0
/etc/port4-192.9.200.1-255.555.255.0
/etc/port5-192.9.200.1-255.555.255.0
.
.
.
.

实施例2

File 文件2.txt

/etc/port1-192.90.2.1-255.555.0.0
/etc/port2-192.90.2.1-255.555.0.0
/etc/port3-192.90.2.1-255.555.0.0
/etc/port4-192.90.2.1-255.555.0.0
/etc/port5-192.90.2.1-255.555.0.0
.
.
.
.

实施例3

File 合并文件.txt

/etc/port1-192.9.200.1-255.555.255.0  /etc/port1-192.90.2.1-255.555.0.0
/etc/port2-192.9.200.1-255.555.255.0  /etc/port2-192.90.2.1-255.555.0.0
/etc/port3-192.9.200.1-255.555.255.0  /etc/port3-192.90.2.1-255.555.0.0
/etc/port4-192.9.200.1-255.555.255.0  /etc/port4-192.90.2.1-255.555.0.0
/etc/port5-192.9.200.1-255.555.255.0  /etc/port5-192.90.2.1-255.555.0.0
.
.
.
.
.

示例4(merge_files.txt结构)

first field                           second field

OLD file                              NEW file

您可以使用paste并排格式化文件:

$ paste -d" " file1.txt file2.txt
/etc/port1-192.9.200.1-255.555.255.0 /etc/port1-192.90.2.1-255.555.0.0
/etc/port2-192.9.200.1-255.555.255.0 /etc/port2-192.90.2.1-255.555.0.0
/etc/port3-192.9.200.1-255.555.255.0 /etc/port3-192.90.2.1-255.555.0.0
/etc/port4-192.9.200.1-255.555.255.0 /etc/port4-192.90.2.1-255.555.0.0
/etc/port5-192.9.200.1-255.555.255.0 /etc/port5-192.90.2.1-255.555.0.0

E.g.:

$ paste -d" " file1.txt file2.txt | while read from to; do echo mv "${from}" "${to}"; done
mv /etc/port1-192.9.200.1-255.555.255.0 /etc/port1-192.90.2.1-255.555.0.0
mv /etc/port2-192.9.200.1-255.555.255.0 /etc/port2-192.90.2.1-255.555.0.0
mv /etc/port3-192.9.200.1-255.555.255.0 /etc/port3-192.90.2.1-255.555.0.0
mv /etc/port4-192.9.200.1-255.555.255.0 /etc/port4-192.90.2.1-255.555.0.0
mv /etc/port5-192.9.200.1-255.555.255.0 /etc/port5-192.90.2.1-255.555.0.0

当然你会想要进行一些安全检查([ -f "${from}" ], ...).

免责声明:仅当文件名中没有空格时才有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何一致地逐行合并两个文件 的相关文章

  • 多维数组(如 C/C++ 中的数组)是不规则数组的特殊情况吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我和一个哥们讨论了C 和C多维数组是否是不规则数组的特例 一种观点是 多维数组不是参差不齐的数组 因为多维数组的每个元素具有相同的大小 在参差不齐的数
  • Lockfree 标准集合和教程或文章

    有人知道用于无锁常用数据类型的实现 即源代码 的好资源吗 我正在考虑列表 队列等 锁定实现非常容易找到 但我找不到无锁算法的示例以及 CAS 的工作原理以及如何使用它来实现这些结构 查看 Julian M Bucknall 的博客 他 详细
  • Windows 应用程序事实上的标准键盘快捷键列表?

    假设我正在为 Windows 开发一个新的桌面应用程序 是否有我可以查阅的所有 Windows 应用程序都应支持的键盘快捷键列表 来自 Microsoft 或第三方 注意 当我在这里说 所有 Windows 应用程序 时 我的真正意思是 特
  • “单词的正则表达式”(语义替换)-任何示例语法和库吗?

    我正在寻找在给定过程语言的情况下对单词而不是字符进行正则表达式样式转换的常用技术的语法示例 例如 为了追踪复制 人们可能想要创建一份具有相似含义但具有不同单词选择的文档 我希望能够简洁地定义这些可以应用于文本流的可能的转换 例如 快速地no
  • 类是否应该有静态和非静态成员

    我试图找出一个类何时适合同时具有静态和非静态函数 又名 obj new ClassA obj gt doOOPStuff something ClassA doStaticStuff Note This example is done in
  • 以任意顺序匹配可选捕获组

    在解析用户输入的许多情况下 用户有机会向输入添加几个可选标志 这些标志应该以任何顺序接受 如何使用正则表达式对其进行解析 以便每个标志都位于它自己的捕获组中 如果存在 例如 有一个必需的令牌a 然后是 3 个可选标记 可以按任何顺序出现b
  • 生成所有多集大小为 n 的分区的算法

    我一直在试图找出一种方法来生成多重集的所有不同的大小为 n 的分区 但到目前为止却空手而归 首先让我展示一下我想要实现的目标 假设我们有一个输入向量uint32 t std vector
  • 什么是拉姆达?

    有人可以很好地描述什么是 Lambda 吗 我们为它们设置了一个标签 它们涉及 C 问题的秘密 但我还没有找到一个很好的定义和解释来解释它们是什么 闭包 lambda 和匿名函数不一定是同一件事 匿名函数是任何没有 或者至少不需要 自己名称
  • 如何在 Perforce 树中查找未跟踪的文件? (svn状态的模拟)

    有人有脚本或别名来查找 Perforce 树中未跟踪 实际上 未添加 的文件吗 编辑 我更新了对此已接受的答案 因为看起来 P4V 在 2009 年 1 月的版本中添加了对此的支持 EDIT 请用p4 status现在 不再需要跳圈了 参见
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • 用矩阵变换 3D 向量的方法

    我一直在阅读一些关于用矩阵转换 Vector3 的文章 并且正在努力深入研究数学并自己编码 而不是使用现有代码 无论出于何种原因 我的学校课程从未包含矩阵 所以我正在填补我的知识空白 值得庆幸的是 我认为我只需要一些简单的东西 背景是我正在
  • Swift 中计算只读属性与函数

    在 Swift WWDC 简介会话中 只读属性description被证明 class Vehicle var numberOfWheels 0 var description String return numberOfWheels wh
  • 将 RGB 转换为灰度/强度

    当从 RGB 转换为灰度时 据说应该对 R G 和 B 通道应用特定的权重 这些权重是 0 2989 0 5870 0 1140 据说这是因为人类对这三种颜色的感知 感受不同 有时也有人说这些是用于计算 NTSC 信号的值 但是 我在网上没
  • 加密单个int的方法

    如何以廉价的方式对 32 位 int 进行双向加密 使每个数字都映射到该空间中的其他 int 并以难以预测的方式映射回来 当然 并且不需要在映射表中预先存储 42 9 亿个整数 您想要的是 32 位分组密码 不幸的是 大多数分组密码都是 6
  • 识别鼠标移动的算法

    我想知道是否有任何研究 算法可以指定鼠标在识别 等字符时的偏差量使用鼠标绘制 某种光学字符识别 但可能是一个更简单的版本 是否有某种算法可以让我说用户绘制的问号确实是一个问号 而不是其他具有一定准确性的东西 就像 Windows 平板电脑软
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • 获取N个随机数,其总和为M

    我想得到N个随机数 其总和是一个值 例如 假设我想要 5 个总和为 1 的随机数 那么 一个有效的可能性是 0 2 0 2 0 2 0 2 0 2 另一种可能性是 0 8 0 1 0 03 0 03 0 04 等等 我需要这个来创建模糊 C
  • 语义差异实用程序[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试找到一些语义差异 合并实用程序的好例子 比较源代码文件的传统范例是通过比较行和字符来工作的
  • 查找字符串中最常见的子字符串的算法

    是否有任何算法可用于查找字符串中最常见的短语 或子字符串 例如 以下字符串将 hello world 作为其最常见的两个单词短语 hello world this is hello world hello world repeats thr
  • 领域驱动设计与模型驱动架构

    我很好奇 领域驱动设计和模型驱动架构有什么区别 我的印象是他们有某些相似之处 你能启发我吗 Thanks 不要不同意上面的大部分内容 尽管它可能值得稍微扩展一下 DDD 中最重要的一个概念是关注问题域 将对技术的痴迷放在一边 主要集中于对您

随机推荐

  • 计算两个 NSString 之间的差异数

    如何计算两个 NSString 之间的差异数 Example NSString 1 this is a string NSString 2 Tihs isa string 应返回 4 一个用于大写 T 一个用于 i h 和缺少的空格 您正在
  • 迭代 NSString 中所有字符的最有效方法

    迭代 NSString 中所有字符的最佳方法是什么 您想循环遍历字符串的长度并使用该方法吗 aNSString characterAtIndex index 或者您想使用基于 NSString 的字符缓冲区 我认为人们了解如何处理 unic
  • 创建多个可放置的兄弟姐妹,并将其放置在彼此之上

    我正在尝试创建多个彼此相邻的 jquery droppable 其中某些部分可能重叠 在这些情况下 我希望位于顶部 z 索引明智 的那个是贪婪的 我尝试过设置greedy truedroppable 中的选项 但这似乎没有帮助 我也尝试过r
  • 调试时会忽略依赖项 org.json:json:20090211,因为它可能与 Android 提供的内部版本冲突

    当我运行 android studio 时 出现以下警告 调试时会忽略依赖项 org json json 20090211 因为它可能与 Android 提供的内部版本冲突 如果出现问题 请用jarjar重新打包更改类包 我该如何解决这个错
  • 合并多个文件的 MD5 哈希值

    我有 7 个文件要为其生成 MD5 哈希值 哈希值用于确保数据存储的远程副本与本地副本相同 不幸的是 这两个数据副本之间的链接速度非常慢 数据的更改非常罕见 但我要求数据始终 或尽快 同步 我不想通过我的 非常慢的 通信链路传递 7 个不同
  • Entity Framework Oracle 和 Sql Server - 如何构建独立于数据库的应用程序

    我们正在尝试构建一个同时使用 Oracle 和 SQL Server 的数据访问层 不同时 我们使用 EF Model first 来创建模型并创建用于构建数据库的 SQL 脚本 我们的第一个想法是创建 2 个 EDMX 文件 每种类型一个
  • 为什么 Go HTTPS 客户端不重用连接?

    我有一个 http 客户端 它创建与主机的多个连接 我想设置它可以设置到特定主机的最大连接数 go的request Transport中没有这样的选项 我的代码看起来像 package main import fmt net http ne
  • 从 API 检索 Instagram 视频嵌入 URL

    我正在尝试以编程方式获取 Instagram 视频的嵌入链接 不幸的是 Instagram 的 oEmbed 端点似乎将视频视为照片 并且仅返回关键帧图像 而不提供嵌入链接 有谁知道一种方法可以检索 Instagram 视频的嵌入链接 而无
  • 如何在 PHP 中将 XML 转换为数组?

    我想将下面的 XML 转换为 PHP 数组 关于我如何做到这一点有什么建议吗
  • SQLCE 连接:保持打开还是关闭?

    考虑到移动设备上的性能 您认为 SQLCE 连接的最佳方法是什么 在应用程序运行期间保持其打开状态 或者在需要调用数据库时将其关闭 显然 这在一定程度上取决于您的应用程序的性质 但是我很想知道该小组已经实施了哪些内容以及原因 你绝对应该看史
  • Spring Boot 内存消耗增加超出 -Xmx 选项

    我注意到 Spring Boot 应用程序不遵守通过 Xmx 选项设置的内存量 例如 java Xss64m Xmx64m jar test jar 我还在控制台上打印了应用程序在启动时实际使用的内存量 并显示 最大内存 61M long
  • 如何更改全景项目标题的字体大小?

    设置全景项目标题的字体大小一次以便其可用于我的应用程序中的所有项目标题的最简单方法是什么 目前还没有一种方法可以自动为应用程序中的所有标头执行此操作 您需要为每一项设置样式 隐式样式将在 Mango 更新中出现 届时应该可以完成此操作 Up
  • 如何在 python 中处理机器学习中缺失的 NaN

    在应用机器学习算法之前如何处理数据集中的缺失值 我注意到删除缺失的 NAN 值并不是一件明智的事情 我通常使用 pandas 进行插值 计算平均值 并填充数据 这确实有效并提高了分类准确性 但可能不是最好的做法 这是一个非常重要的问题 处理
  • 如何配置 Visual Studio 将所有 TypeScript 文件合并到一个 JavaScript 文件中?

    使用 tsc 命令就像运行一样简单 tsc out all js js ts 当我构建项目时 如何配置 Visual Studio 来执行此操作 我发现了一个可能更简单的解决方案 只需修改您正在构建的项目 csproj vbproj 的构建
  • 为什么编译器不执行类型转换?

    考虑以下代码 include
  • Heroku + socket.io 广播上的多个测功机

    我似乎遇到一个问题 当我有超过 1 个 dyno 时 Heroku 上的 node js 应用程序中的 socket io 广播似乎不起作用 当我将其缩放到 1 时 它就完美地工作了 关于这件事有什么我需要知道的吗 也许有不同的方式向所有测
  • Android:支持所有设备的背景图像大小(以像素为单位)

    我正在创建一个将在所有 Android 设备上运行的应用程序 我想为我的应用程序创建 xhdpi 图形 我的应用程序是全屏的 我对创建图形感到困惑 谁能告诉我背景图像的最佳尺寸 以像素为单位 例如 xhdpi 720x1280 像素 高清
  • tf.initialize_all_variables() 和 tf.initialize_local_variables() 有什么区别?

    我正在查看此示例中的代码 完全连接的读者 py 我对第 147 行和第 148 行感到困惑 init op tf group tf initialize all variables tf initialize local variables
  • 如何进行 DOM 的中序遍历? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我发现了这个可笑的技术文档 http www w3 org TR DOM Level 2 Traversal Range traversal html Traversal Docum
  • 如何一致地逐行合并两个文件

    我有两个文件 文件1 txt 文件2 txt 这些文件只是示例 如何合并这两个文件 以创建文件 合并文件 txt如示例3 我现在正在写一个康壳公司 ksh 脚本 因此可以使用 KornShell 完成合并 AWK sed a Perl单线等