如何在 Unix Shell 脚本中用 SED 替换同一文件中的行?

2023-12-01

在参照这个问题在第一个和第二个文件中获得匹配的行标识符后,我需要将第一个文件中的行替换为第二个文件中的行。为此,我使用 SED,如下所示。但 Sed 仅替换新文件中的该行。如何在没有临时文件的情况下在同一文件中实现更新(因为这些文件非常大)。

#!/bin/ksh
while read line
do
var=`echo $line|cut -c 3-25`
while read i
do
var1=`echo $i|cut -c 3-25`
if [ $var == $var1 ];
then
sed -i s/$line/$i/ t1
else

echo "not matched"
fi
done < t2
done < t1

即使没有-i选项我也没有得到结果。请帮我。

Edit:或者建议我任何其他没有临时文件或任何脚本语言的最佳方法(不太推荐)。


看看海绵,它是更多实用程序.

e.g.

% sed "s/root/toor/" /etc/passwd | grep -v joey | sponge /etc/passwd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Unix Shell 脚本中用 SED 替换同一文件中的行? 的相关文章

  • 在Java中执行.lnk文件

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja
  • 无法在 IE11 上获取所选文本的新行

    我正在尝试使用带有表单输入的模态窗口替换 div 内的一些文本 但由于某种原因我无法让它在 IE11 上工作 我意识到 当选择包含 的文本时 它会跳过新行 这是一个工作示例 http jsfiddle net 8VdE9 3 http js
  • Java IO 文件前缀字符串太短 - 但事实并非如此

    尝试从一个目录创建简单的 tar gz 文件 有我的代码 File destinationFile new File var www swOfflineFeeds Companies 2 File sourceFile new File v
  • .bat 文件将文件排序到文件夹中

    对于我的图片集 我希望文件夹中的所有图片按日期自动分类到文件夹中 幸运的是 这些文件已经以时间戳命名 2012 07 15 12 21 06 jpg 2012 07 15 12 21 26 jpg 2012 07 16 12 12 50 j
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • C# 写入文件的性能

    我的情况概述 我的任务是从文件中读取字符串 并将它们重新格式化为更有用的格式 重新格式化输入后 我必须将其写入输出文件 这是必须完成的操作的示例 文件行示例 ANO 2010 CPF 17834368168 YEARS 2010 2009
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • 拒绝访问特定目录中的特定文件类型

    对于某些应用程序 用户可以上传自己的文件 由于这可能是非常大的文件 因此他们可以通过自己的 FTP 客户端上传这些文件 当然 我不希望他们上传一些可以访问服务器上所有其他文件的 PHP 文件 我想要防止这种行为的方法之一是拒绝仅访问这些文件
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 打开/尝试读取文件[重复]

    这个问题在这里已经有答案了 我尝试简单地读取文本文件的内容并将其存储到数组中 但是 ins open file txt r array for line in ins array append line ins close 它给了我一个 打
  • 如何从 ssh 配置文件中删除主机条目?

    文件的标准格式是 Host example HostName example com Port 2222 Host example2 Hostname two example com Host three example com Port
  • 回形针不支持 .doc 文件

    在 Rails 4 0 2 中 我使用回形针 gem 上传文件 但它不支持 doc 文件 在文件上传字段下方 显示一条错误消息 扩展名与其内容不匹配 在模型中 检查内容类型的验证如下 validates attachment content
  • 比较两个文本文件的最快方法是什么,不将移动的行视为不同

    我有两个文件非常大 每个文件有 50000 行 我需要比较这两个文件并识别更改 然而 问题是如果一条线出现在不同的位置 它不应该显示为不同的 例如 考虑这个文件A txt xxxxx yyyyy zzzzz 文件B txt zzzzz xx
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输
  • 如何处理文件中的特殊字符(ഀ)

    我有一个文件 当我打开它时 它看起来像这样 Notepad A B C D E 31 HB 39 Ph 49 32 FB 38 Ph 59 当我尝试从 WinScp 打开它时 它看起来如下所示 A B C D E 31 HB 39 Ph 4
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 以编程方式在java的resources/source文件夹中创建文件?

    我有两个资源文件夹 src 这是我的 java 文件 资源 这是我的资源文件 图像 properties 组织在文件夹 包 中 有没有办法以编程方式在该资源文件夹中添加另一个 properties 文件 我尝试过这样的事情 public s
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 执行“minikube start”命令时出现问题

    malik malik minikube start minikube v1 12 0 on Ubuntu 18 04 Using the docker driver based on existing profile Starting c
  • 在 Python 中搜索文本文件并打印相关行?

    如何在文本文件中搜索关键短语或关键字 然后打印关键短语或关键字所在的行 searchfile open file txt r for line in searchfile if searchphrase in line print line

随机推荐

  • Java 的 NullPointerException 是否可以更改为报告哪个变量为空? [复制]

    这个问题在这里已经有答案了 The NullPointerExceptionin Java 似乎只报告它发生在特定的代码行上 如果一行代码中使用了多个变量 是否可以更改该异常以声明哪个变量为空 不 类文件中的调试信息不 包含足够的信息来允许
  • DataFrame.to_csv 抛出错误“[Errno 2]没有这样的文件或目录”

    我正在尝试将 DataFrame 写入 csv 文件 now datetime datetime now date now strftime Y m d enrichedDataDir export market data temp enr
  • 如何在android中获取sdcard(Secondary)存储路径?

    我正在开发一个文件管理器应用程序 我想向用户显示内部存储和 SD 卡存储 如果存在 对于内部存储我使用Environment getExternalStorageDirectory getPath 如何获得 SD 存储空间 不确定这个解决方
  • 删除数组指针?

    如何删除已经分配给数组的内存models names 我尝试了所有方法 但运行时总是崩溃 int main vector
  • 表排序器排序;多个复选框、多列

    我有一个表格排序器几乎按照我想要的方式运行 只是还有一件事我不知道该怎么做 现在 我有一个表格 您可以在其中按列搜索 并且可以通过按在列的搜索字段中输入值的按钮来快速过滤表格 问题是我希望人们能够选中多个复选框 以便根据此输入过滤表格 这些
  • 如何读取组件中的http状态代码错误

    我知道以前有人问过这个问题 但我似乎找不到答案 如何从 http 读取状态代码 this bookingService save this param subscribe data gt swal title Succes text You
  • 为什么我们在使用 AEM 时扩展 WCMUsePojo 类?

    为什么我们在使用 AEM 时在程序中扩展 WCMUsepojo 抽象类 使用这个类有什么好处 因为在 AEM 的组件开发机制中 您可能需要一种方法来为组件提供后端逻辑 那是因为Sightly 当用作渲染脚本语言而不是JSP页 是一种有限的模
  • golang - 为什么 ++ 和 -- 不能在表达式中工作?

    我们在其他语言中认为理所当然的事情 几乎期望它在 go 中工作 但在 go 中却行不通 这样做几乎是很自然的 那么为什么编译器不高兴呢 有时只是感觉想摆脱困境 增加该值的唯一方法是将其放在自己的单独行中 http play golang o
  • 如何将 TinyMCE 与 NuxtJS 结合使用

    我正在尝试构建一个博客平台 我需要使用文本编辑器 并且我考虑过 CKeditor 和 TinyMCE 但没有关于如何将其与 NuxtJS 一起使用的视频或良好说明 如果有人可以帮助我 我将不胜感激 请不要使用 CDN 而是使用以下解决方案i
  • PHP——将字符串转换为bigint

    我有以下字符串 需要将其转换为整数或 bigint test 99999977706 I tried echo int test echo integer test echo intval test 但他们都给我还了2147483647 如
  • 检查硬件加速可用性? (可测试)

    我编写了使用 webkit transform webkit perspective 和几个类似的 CSS 我的设计在可以使用硬件加速的机器上看起来非常出色 但在不使用硬件加速时实际上无法使用 如何检查硬件加速可用性并提供后备 CSS 旁注
  • urllib2支持抢占式认证吗?

    我正在尝试访问 REST API 我可以让它在 Curl REST Client UI 工具 中工作 并启用抢先身份验证 但是 使用 urllib2 默认情况下它似乎不支持此功能 并且我找不到打开它的方法 谢谢 这是一个简单的抢占式 HTT
  • 使用 keras.utils.Sequence 时,keras Predict_generator 会打乱其输出

    我正在使用 keras 构建一个输入 720x1280 图像并输出值的模型 我有问题keras models Sequential predict generator当使用keras utils Sequence类来获取与验证 训练集上的图
  • SQL Server IN 与 EXISTS 性能

    我很好奇下面哪一个会更有效 我一直对使用有点谨慎IN因为我相信 SQL Server 将结果集变成一个大的IF陈述 对于大型结果集 这可能会导致性能不佳 对于小型结果集 我不确定哪一个更好 对于大型结果集 不会EXISTS更有效率吗 WHE
  • LSTM 与 Keras

    我有一些训练数据x train以及一些相应的标签x train called y train 这是如何x train and y train构造 train x np array np random rand 1 1000 0 for i
  • 将数组复制到数组

    我对数组有一个小问题 我是 C 新手 我尝试复制一个int数组分成另外两个int数组与 unsortedArray randomNumbers unsortedArray2 unsortedArray unsortedArray3 unso
  • cv2.MOTION_EUCLIDEAN 用于ECC图像对齐方法中的warp_mode

    我使用以下方法来对齐图像 当我将 warp mode 定义为 cv2 MOTION TRANSLATION 时 以下代码工作正常 我在具有平移位移的图像上得到了一些相当好的结果 我尝试重复此代码并将 warp mode 更改为 EUCLID
  • 将 Artifactory 升级到最新版本时出现 CATALINA_PID 和 ARTIFACTORY_PID 问题

    在将我的 Artifactory 服务器 免费 OSS 版本 从版本 5 2 0 升级到最新的 5 4 5 时 我遇到了 ARTIFACTORY PID 问题 从 5 3 2 迁移到 5 4 0 后 Artifactory 服务器不想再启动
  • 熊猫在字符串列上滚动总和

    我正在使用 Python3 和 pandas 版本 0 19 2 我有一个 pandas df 如下 chat id line 1 Hi 1 Hi how are you 1 I m well thanks 2 Is it going to
  • 如何在 Unix Shell 脚本中用 SED 替换同一文件中的行?

    在参照这个问题在第一个和第二个文件中获得匹配的行标识符后 我需要将第一个文件中的行替换为第二个文件中的行 为此 我使用 SED 如下所示 但 Sed 仅替换新文件中的该行 如何在没有临时文件的情况下在同一文件中实现更新 因为这些文件非常大