如何用sed命令来批量替换文件内容?
谢谢你邀请我。我来回答这个shell命令!
Sed命令功能sed命令可以直接输入到控制台并执行,也可以在脚本文件中执行。
Sed逐行读取传入的数据流。
使用命令只能修改每行中匹配的数据。
它不会修改原始数据。
生成的新数据将输出到stdout,通常是控制台,或者输出到一个文件。
replace命令使用s(1)通过pipeline命令输入数据。
(2)替换文件中的数据
1.日志
It这是我们的数据文件
让让我们直接处理1.log。
这个文件的数据,这次我们使用两个匹配的命令(只是用分号分隔,并在前面加一个-e,但是它没有-e)就没有问题,我们可以发现处理过的数据已经正确打印出来了,如果你再看一下1.log。
您会发现sed不修改源文件中的数据。
如果需要将生成的新数据输出到特定文件,可以使用重定向大于号:
(3)将命令写在文件中。
有时候我们会重复使用一些命令。如果我们每次都需要手动输入,那就太麻烦了。幸运的是,我们可以在一个文件中编写这些匹配的命令。
看图,我们现在把顺序写进去
在该文件中,只需在sed命令前面添加-f,就可以方便地运行该命令。
(4)更换标记
我们可以认为每一个替换命令都是一个正则表达式,所以每一个单独的命令在一行中只会使用一次,前面的命令会先使用。对于全局匹配,可以在命令后添加G。
可以发现第一行已经完全匹配了g的添加,这个g也可以用一个数字来替换,指定替换哪个位置。
也可以用w把生成的新数据输入到一个文件中,但是在多条命令的情况下用处不是很大!
(5)单线替换
在文章的开头,sed会逐行查询,有时我们只想替换指定行中的数据。我们做什么呢可以在s字母前加一个数字代表哪一行。
上图只替换了第二行的数据。
我们还可以指定行间隔“开始行逗号和结束行”。
如上所示,第一个命令替换第二行和第三行中的数据($代表最后一行)。
注意,以这种为多个命令指定的行数仅对单个命令有效!当然,我们可以用大括号将所有匹配的命令括起来,并将指定的行放在大括号的左边,那么指定的行将作用于多个命令,如下所示:
指定特定行的另一种方法是在s前添加文本匹配命令,如下所示:
我们使用字符they来匹配第二行(字符串前面必须有一个斜杠)
删除命令d(1)上述指定的行数也适用于删除命令。
无论是行号匹配还是文本匹配,都没有问题。
也可以通过匹配文本来删除。除了间隔,如下所示:
匹配这些字符和那些字符之间的三行。
insertI和appendA这两个命令与js中的insert和append具有相同的语义。果然语言都一样!
这两个命令比较简单,但是要注意前面一行不能是区间,这样应该更容易理解!
修改c行
该命令将替换整行数据,并且可以用行号间隔来修改行。
转换命令Y命令格式y/originchar/replacechar/,originchar和replacechar必须一一对应,否则报错!
这个也比较简单,所以我赢了不要多说。
从文件中读取数据R如上所述,我们可以使用W将数据输出到文件中,因此我们可以使用R从文件中读取数据,如下所示:
我们很容易把2.log。
文件的数据被读出并插入到1.log中。
最后。
r前面可以是若干行或一个文本匹配。
这只是s
感知技术特点?
农业传感器技术正逐步走向小型化、智能化和移动化。国内外研究从传感器材料入手,探索新一代智能传感器技术。小型便携式传感器在国外已经应用于食品加工、环境污染、农产品储藏等领域,而国内目前生产农业智能传感器产品的企业并不多。
无线传感器网络具有低功耗、低成本、分布式和自组织的特点。在,无线传感器网络已应用于精准农业生产,并已应用于安塞和杨凌的保护性作物。
射频识别技术(RFID)是一种实现多目标识别的自动识别技术。在欧美,对于家畜的识别和追踪都有相关规范,并制定了相应的管理制度。企业自主研发生产的低成本动物电子RFID标签已用于监测畜禽养殖环境和体征,开发母猪电子饲喂站。
农业遥感技术正逐渐与新一代农业无人机技术和农业地面传感网络相结合,呈现出新的发展趋势,如多尺度农业信息监测网络。将全球定位系统(GPS)和地理信息系统(GIS)技术相结合,因地制宜地应用于耕作方案的设计,以提高作物产量,保护生态环境。