首页 > 系统相关 >linux 中实现批量讲指定的行替换为特定的数据

linux 中实现批量讲指定的行替换为特定的数据

时间:2022-12-25 11:44:32浏览次数:52  
标签:test4 批量 ss PC1 rr linux txt root 替换

 

001、 sed 实现

[root@PC1 test4]# ls
a.txt  coordinate.txt
[root@PC1 test4]# cat a.txt                     ## 测试数据
dd ff sd 1
ss aa ee 2
xx vv zz 3
ss ww rr 4
aa ff jj 5
nn mm kk 6
ss rr uu 7
yy uu ee 8
ww rr 88 9
[root@PC1 test4]# cat coordinate.txt           ## 计划替换的内容
3 MMM
5 GGG
8 QQQ
[root@PC1 test4]# cp a.txt a.txt.bak           ## 将原始文件备份
[root@PC1 test4]# cat coordinate.txt | while read {i,j}; do sed -i "$i s/.*/$j/" a.txt; done    ## 利用sed命令替换
[root@PC1 test4]# ls
a.txt  a.txt.bak  coordinate.txt
[root@PC1 test4]# cat a.txt                    ## 替换结果
dd ff sd 1
ss aa ee 2
MMM
ss ww rr 4
GGG
nn mm kk 6
ss rr uu 7
QQQ
ww rr 88 9

 

 

002、失败的尝试

[root@PC1 test4]# ls
a.txt  coordinate.txt
[root@PC1 test4]# cat a.txt                           ## 测试数据
dd ff sd 1
ss aa ee 2
xx vv zz 3
ss ww rr 4
aa ff jj 5
nn mm kk 6
ss rr uu 7
yy uu ee 8
ww rr 88 9
[root@PC1 test4]# cat coordinate.txt                  ## 计划替换的内容
3 MMM
5 GGG
8 QQQ
[root@PC1 test4]# cp a.txt a.txt.bak                  ## 备份数据
[root@PC1 test4]# cat coordinate.txt | while read {i,j}; do sed -i "$ic $j" a.txt; done    ## 利用sed整行替换,报错
sed: -e expression #1, char 2: unknown command: `M'
sed: -e expression #1, char 3: extra characters after command
sed: -e expression #1, char 3: extra characters after command
[root@PC1 test4]# cat a.txt
dd ff sd 1
ss aa ee 2
xx vv zz 3
ss ww rr 4
aa ff jj 5
nn mm kk 6
ss rr uu 7
yy uu ee 8
ww rr 88 9

 

标签:test4,批量,ss,PC1,rr,linux,txt,root,替换
From: https://www.cnblogs.com/liujiaxin2018/p/17003829.html

相关文章

  • Linux C语言程序设计(微课视频版)
     LinuxC语言程序设计(微课视频版) 主编:张同光 出版单位:清华大学出版社 ISBN: ISBN: 出版时间:2023.6 CIP: 内容简介本书以“学完C语言之后知道能做什么”为编写目标,共包括......
  • Linux网络基础
    网络就是把分布在不同地理位置上的主机,通过传输介质(网线、卫星等)连接起来,实现主机之间数据传输共享的目的。OSI7层网络模型传输过程数据从一个主机A发送到主机B时候,......
  • linux网络编程-线程创建和退出
    线程创建函数:intpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);第一个参数thread是出参,传出创建的线程......
  • linux与shell 9.安装软件(Debian)
    了解aptaptlist列出所有可用安装包apt--installedlist列出已安装安装包[是否已安装,是否自动升级]aptshowpackage_name安装软件详细信息dpkg-lpackage_name......
  • 《安富莱嵌入式周报》第296期:硬件电路实现SPI转以太网,单片机3D游戏图形引擎,Linux基金
    ​​​​ 视频版:​​https://www.bilibili.com/video/BV1Nv4y1X7Tx​​1、硬件电路实现SPI转以太网10BASE-T作者详细介绍:​​​https://imihajlov.tk/blog/posts/eth-to-sp......
  • Linux下Docker安装
    目录一、安装Docker二、配置远程访问通过docker.service配置通过daemon.json文件配置通过SSH证书三、安装Harbor下载安装包解压安装试运行docker配置私有Harbor仓库地址I......
  • 纷繁复杂的操作系统到底是什么关系从APPLE到Android到Linux等
    各个系统之间的关系最近接触了很多很多系统,多种多样,纷繁复杂,感觉有点乱想整理以下思路,结果一下笔内容还挺多,不全,就是现在能见到的,梳理一下,站在一个外行的角度写写省的乱,不......
  • linux安装go环境
    官方网站下载:​​https://golang.google.cn/dl/go1.19.4.linux-amd64.tar.gz​​wget ​​https://golang.google.cn/dl/go1.19.4.linux-amd64.tar.gz​​tar-zxvf ​​g......
  • Linux系统入门-信息命令
    top命令监视进程活动与系统负载top第一行的系统负载,数值越小越好pidof 命令查看某个服务进程的PID值pidofsshdkill用于终止某个指定PID的服务进程kill2122killall终止某......
  • linux网络编程-线程间通信——互斥锁
    为了保证线程在执行某段代码时不被其他线程打断,可以使用互斥锁进行保护,而这段被保护的代码区域被称为临界区。原理:线程执行锁定函数pthread_mutex_lock()时,如果锁没有被其......