centos的sed命令修改文件(备忘)

简介:

#全文搜索替换

sed -i "s/要搜索字串/替换成的字串/g" 文件名

或者

sed -i s#要搜索字串#替换成的字串#g 文件名


#全文删除特定字串

sed -i "/要删的内容/d" 文件名


#全文删空行

sed -i "/^$/d" 文件名


#全文删除没有任何内容的空行(就是连空格都没按直接回车的那种,比如一顿回车出来的那种空行。用到了正则表达,^1表示以1开头,3$表示以3结尾,若只有^$就是专门表示那种连空格都没有的回车行)

sed -i "/^$/d" 文件名


#删除全文中空格组成的行和没有空格直接回车的空行

sed -i "/^[[:space:]]*$/d" 文件名

或sed -i "/^ */"d 文件名  (*前有一个空格)


#在文件中找到所有包含then的行,并在匹配行的下一行加上echo

sed -i "/then/aecho" 文件名


#在文中第5行的最前面加个井号

sed -i "5s/^/#/" 文件名


#只保留文中3、7、9、11这四行,其他行全删除

sed -i -n -e "3p" -e "7p" -e "9p" -e "11p" 文件名


#只保留文中包含linux、centos、redhat的行,其余行全不要

sed -i -n -r '/linux|centos|redhat/p' 文件名


#在文件中很多行都出现了“else”这个词,在其中第2行那个else的下一行追加“exit”字串。用grep -n 、cat -n、awk '{print NR}'还有nl命令都可给文件加上行号的,没有nl命令的yum装一下coreutils包。

sed -i "`grep -n else`a exit" 文件名

sed -i "`awk '/else/{print NR}' |awk 'NR==2{print}'`a exit" 文件名

sed -i "`nl -b a 1.txt |grep else |sed -n "2p" |awk '{print $1}'`a exit" 文件名

注意nl不加-b a的话,会把空行自动空过去不加行号但是sed不会,所以文件中有空行的话,nl加标号配合sed编辑就会出现误差了!


#如果需要在sed中引用变量,就用单引号把变量包上。如将文件中$B这行的第二次出现的the改成THE。

sed -i ''$B's/the/THE/2' 文件名




本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1695005,如需转载请自行联系原作者
相关文章
|
5月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
559 17
|
7月前
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
247 5
|
9月前
|
Linux 虚拟化 Windows
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
339 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
|
10月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1164 25
2022年超详细如何使用Xftp连接CentOS 7来进行文件的传输【详细过程、图解】
这篇文章提供了使用Xftp工具连接到CentOS 7虚拟机进行文件传输的详细步骤和图解。步骤包括打开Xftp软件、创建新连接、查看并填写虚拟机的IP地址、输入虚拟机的连接账号密码,以及连接成功后进行文件传输。文章最后以"现场手撸、学无止境"作为结束语,鼓励读者不断学习和实践。
|
10月前
|
存储 Prometheus 监控
Centos7.9版本安装collectd并开启写入rrd文件功能
Centos7.9版本安装collectd并开启写入rrd文件功能
325 13
|
11月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
588 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
351 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
安全 Linux 网络安全
centos7中firewall防火墙的常用命令总结
以上命令集覆盖了 `firewalld`的基本操作,是维护CentOS 7系统安全不可或缺的工具。对于更高级的配置需求或遇到特定问题
284 3
|
网络协议 Linux Shell
CentOS7系统命令学习笔记(一)
CentOS7系统命令学习笔记(一)
329 12