shell脚本问题:如何将一个文件的内容跟另一个文件指定的内容逐行匹配后替换

cat file1.txt
aa bb
ccc dd
k pppp

cat file2.txt
1
2
3

将文件1中的空格替换成文件2的数字输出
aa1bb
ccc2dd
k3pppp

求指引,自己一直在学习sed,但是这个超出了目前的理解范围。

2个回答

自己写的脚本, 供参考

自动替换/dir_to_replace里面全部与*.tpl匹配的文件, 替换规则从EOF开始, 到EOF结束

 #!/bin/bash
#自动替换/dir_to_replace里面全部与*.tpl匹配的文件, 替换规则从EOF开始, 到EOF结束

if [ $# -ne 1 ]; then
  echo "usage: $0 /dir_to_replace"
  exit 0
fi

while read -r pattern replacement; do   
    echo "$pattern --> $replacement"
    find $1 -type f -name "*.tpl" -exec sed -i "s=$pattern=$replacement=g" {} \;
done <<EOF
aa bb
ccc ddd
k pppp
EOF

Below works:
awk 'NR==FNR{a[NR]=$0;next}{sub(/\ /,a[FNR])}1' file2 file1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
shell脚本调用另一个shell脚本问题

问题描述: 现在有两个shell脚本A和B,用A脚本去调用B脚本,B脚本中有一条将程序放到后台执行的语句。两脚本大体内容如下: A脚本: #!/bin/bash source /etc/profile source ~/.bash_profile B B脚本: #!/bin/bash source /etc/profile source ~/.bash_profile nohup command & 这时候执行A脚本,发现虽然成功调用了B脚本,并且看到了B脚本中的程序放到后台的回显,但是此时查看发现后台并没有command程序。 个人感觉可能是A脚本fork出子进程,然后B脚本的后台command程序是放在子进程中的,之后A脚本及其子进程退出,后台的程序也一并退出了。 其后我使用了source B来调用B脚本,以及在B脚本最后写入sleep命令,即程序放到后台后B脚本并不退出,但是同样的结果,还是发现command程序没有启动。 请问有没有大佬知道这种情况的原因和解决办法呢?需要这样做的原因是A脚本是一个监控脚本,发现异常以后,去调用执行B脚本,而B脚本是command程序的启动脚本。如果将nohup command &放入A脚本中去启动,而不是通过调用B脚本的方式启动command程序可以行,但是感觉管理混乱,并且想弄明白这个问题的原因。

怎么用shell脚本把多个文件的内容合并到另一个文件中啊???求大佬解答

怎么用shell脚本把多个文件的内容合并到另一个文件中啊???求大佬解答

shell脚本读取文件内的内容, 并生产一个新文件。

第一个文件内数据:1.dat 101.535599 25.029301 100.735100 23.501900 35.0 3.591 36.0 3.618 37.0 3.647 38.0 3.681 39.0 3.719 40.0 3.752 第二个数据文件:2.dat 101.860703 25.689400 99.698402 27.823200 41.0 3.698 42.0 3.715 43.0 3.732 44.0 3.747 45.0 3.762 46.0 3.777 47.0 3.792 48.0 3.807 49.0 3.820 50.0 3.834 第三个文件数据:3.dat 102.143997 24.700199 103.717903 27.322100 30.0 3.562 31.0 3.557 32.0 3.562 33.0 3.575 34.0 3.595 35.0 3.617 36.0 3.639 37.0 3.658 38.0 3.681 39.0 3.708 40.0 3.735 我现在有600多个这样的文件,现在以3个文件为例。 假如我现在要搜索每一个文件里面35.0这一行的值,如果文件有35.0的值,把35.0后面一个值拷贝到新的文件中,并把头两行拷贝在新文件中。如果没有这个35.0就跳过这个文件,不做任何操作。 例如:第一个文件里面有35.0的值,就拷贝出来,形成新的格式如下(新的文件名:35.txt): 25.029301 101.535599 23.501900 100.735100 3.591 1 (第一个文件中的数据,如35.0这个后面有值的,在后面全部加1) 第二个文件没有就跳过 不拷贝 24.700199 102.143997 27.322100 103.717903 3.617 1 (第三个文件中的数据) ... ... 就这样形成一个新的文件,该怎么实现bash shell脚本啊。谢谢!

shell脚本,执行时并修改指定目录下文件内容

1.shell脚本目前内容 ![图片说明](https://img-ask.csdn.net/upload/201812/20/1545277983_427132.png) 2.要修改的配置文件目录:/opt/FounderETL/batch/etl/config 3.配置文件名称:setting.properties 4.配置文件内容:mqo_queue_name=IN.BS320.LQ ![图片说明](https://img-ask.csdn.net/upload/201812/20/1545278250_405616.png) 5.要求,图1中 执行BS320时,修改配置文件为:IN.BS320.LQ 执行BS366时,修改配置文件为:IN.BS366.LQ 执行BS368时,修改配置文件为:IN.BS368.LQ 6.疑问,是否可在一个脚本中实现,如不可以,拆分为三个脚本? 请各位大佬附上代码,留下邮箱,方便沟通啊?

shell如何将一个文件的所有内容插入到另一个文件指定位置

比如我有个文件里面所有数据是我想添加到另一个文件的第2行的位置

shell脚本修改文件部分内容

**问题描述:**想修改文件指定内容 但是行数过多 用sed感觉过于繁琐 有没有像echo一样直接追加到指定位置然后注释原有内容之类的方法? 感觉自己钻牛角尖了 没有想明白 求指教 **随便截个代码片段做例子** ``` # for all of them. LOCAL_PATH = '/tmp' SECRET_KEY='e9c3b51c80a59a17ba8e' # We recommend you use memcached for development; otherwise after every reload # of the django development server, you will have to login again. To use # memcached set CACHES to something like #CACHES = { # 'default': { # 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', # 'LOCATION': '127.0.0.1:11211', # } #} CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', } } # Send email to the console by default EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' # Or send them to /dev/null #EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' # Configure these for your outgoing email host #EMAIL_HOST = 'smtp.my-company.com' #EMAIL_PORT = 25 #EMAIL_HOST_USER = 'djangomail' #EMAIL_HOST_PASSWORD = 'top-secret!' # For multiple regions uncomment this configuration, and add (endpoint, title). #AVAILABLE_REGIONS = [ # ('http://cluster1.example.com:5000/v2.0', 'cluster1'), # ('http://cluster2.example.com:5000/v2.0', 'cluster2'), #] OPENSTACK_HOST = "127.0.0.1" OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_" # Enables keystone web single-sign-on if set to True. #WEBSSO_ENABLED = False # Determines which authentication choice to show as default. #WEBSSO_INITIAL_CHOICE = "credentials" 比如将下面内容 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', } } # Send email to the console by default EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' # Or send them to /dev/null #EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' 修改为 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', ‘localhost':'127.0.0.1' '1111111':'22222' } } Send email to the console by default #EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' Or send them to /dev/null EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' ```

shell脚本解析csv文件

shell脚本解析csv文件,csv文件中有三列数据,怎么把三列数据放在数组中,然后进行操作

如何用shell脚本读取文件指定内容?

![图片说明](https://img-ask.csdn.net/upload/201703/23/1490257628_713793.jpg)

linux 系统下编写一个类shell cp命令将一个文件copy给另一个文件

linux 系统下编写一个类shell cp命令将一个文件copy给另一个文件 为什么会出现如图所示情况;代码如下![![图片说明](https://img-ask.csdn.net/upload/201604/15/1460730777_613690.jpg)图片说明](https://img-ask.csdn.net/upload/201604/15/1460730767_134235.jpg)

shell脚本定义变量之后grep报错:没有那个文件或目录?

想查找九月份的所有日志文件,正常使用 grep "查找" log/filename.log.201809*即可 *但是现在需要写在shell脚本中,脚本如下: ``` LOG_DIR="log/filename.log.201809" grep "查找" $LOG_DIR"*" ``` 会报错:grep: log/filename.log.201809*: 没有那个文件或目录 这个怎么解决??

用shell脚本读取Hadoop集群上的文件

我想用grep -Ff 命令提取hadoop上两个文件中相同的内容, 例如hadoop上的文件位置为/hadoop/file1和/hadoop/file2, 我想在本地用shell脚本编写比较hadoop上这两个文件内容的代码,求指点

一台服务器上传目录和文件到另外一台ftp服务器上(注意是目录和文件)的shell脚本。

一台服务器是ftp服务器是10.0.0.203,另外一台服务器是10.0.0.204 现在需要从10.0.0.204上传目录和文件,而且目录和文件每天都是变化的。以下面的图片上的目录和文件为例船到ftp上。 ftp的用户名是ceshi,密码是123456 求大神怎么写shell脚本,万分感谢 ![图片说明](https://img-ask.csdn.net/upload/201811/07/1541576340_807119.jpg)

shell脚本分别显示家目录下的文件

Linux系统shell显示文件:分别显示家目录下所有文件夹、普通文件、链接文件。

shell脚本中一个全局变量怎么指向另一个脚本?

采用管理员身份登陆Linux系统,shell版本为bash。 /home目录下有四个脚本:menu.sh add.sh delete.sh passwd.sh。 在menu.sh中,dataSource变量指向passwd.sh,AddUsers变量指向add.sh,DeleteUsers变量指向delete.sh。还写了一个homePath变量,应该指向什么。 请详细说明,最好写成代码。谢谢。

shell脚本里的命令加参数 参数 是从另一个文件中取得 怎么设置

test.sh如下 #!/bin/bash usr/local/bin/ipmitest -I lanplus -H 10.18.32.80 -U root -P password -e sol active arg_conf 如下 10.18.32.90 root password 10.18.32.100 admin admin 10.18.32.110 test password 脚本里的命令的 ip user pawword 从arg_conf 中获取 每一行 执行一次脚本 该怎么设置 麻烦大神 求助 感激涕零

请教一个c++程序调用shell脚本的问题

问题描述: 场景:需要用一个c++模块调用一个shell脚本(实现自动scp功能) 问题:模块前台运行,文件能scp过去。如果模块后台运行ppid=1,scp的文件拷贝不过去。 脚本如下: #!/usr/bin/expect set timeout 30 set src [lindex $argv 0] set dest [lindex $argv 1] set passwd [lindex $argv 2] puts {+----------Log Info------------+} puts $src puts $dest puts $passwd puts {+------------------------------+} if {$argc == 4} { set port [lindex $argv 3] spawn bash -c "scp -r -P $port $src $dest" } else { spawn bash -c "scp -r $src $dest" } expect { "Are you sure you want to continue connecting (yes/no)?" { send "yes\n"; exp_continue; } "password:" { send "$passwd\n" puts "input passwd" } } interact 没有金币了,所以还望路过的同学,帮忙指点一下。谢谢!

shell脚本解析csv文件?

csv文件有三列数据,分别为表名,字段名,索引名,要求使用shell脚本将文件中的数据取出放在数组中。

linux的shell脚本怎么将一块内容的输出全部重定向?

我知道重定向一条命令可以用>> file 2>&1 来重定向到某文件 如果我想重定向shell脚本的一块内容怎么重定向呢,一定要把每条命令都用>>吗?

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

删库了,我们一定要跑路吗?

在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。 在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所以 binlog 日志就是我们自救的利器。 接下来就来开启程序员自救之路。 想要自救成功,binlog 这把利器一定要好,在自己之前,我们一定要确定我们有 binlog 这把利器,以下就是确保有 bi...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年1月份最新版)

深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)。 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)。 内容导航: 1、TIOBE排行榜 2、总榜(2020年1月份) 3、本月前三名 4、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google

立即提问
相关内容推荐