1. sed(stream editor),流编辑器

  linux中,主要中sed命令实现对文件的增删改替换查

名称
sed - 用于过滤和转换文本的流编辑器 SYNOPSIS
sed [选项]... {script-only-if-no-other-script} [文件]... 常用选项或命令
-i 正式执行操作修改内容 -n 取消默认输出 -e 允许多项编辑 -r 使用扩展正则表达式 = 在文件内容行前增加一行行号 s 查找并替换 g 全局范围 p 打印输出 '/ /p' 正则表达式匹配/ /里面的内容并输出 '2s///g' 2指代第二行 's#()()#\1\2#g' 分配处理,\1指代第1个()内的内容 's#()()#mv & doubi#g' 分配处理,\1指代第1个()内的内容,&指代##里面查找到的所有内容 脚本命令
i         在匹配的文件内容行前增加,常用格式:’//i zjnr’,’2i zjnr’ a         在匹配的文件内容行后增加,常用格式:’//a zjnr’、’2a zjnr’ d         删除匹配的文件内容所在的行,常用格式:’//d’、’2d’ p          打印输出匹配到的文本内容,常用格式:sed -n ’//p’、sed -n ‘2p’ s          替换匹配到的文件内容,常用格式:’s///g’、’s###g’;&代表匹配到的内容 c         按匹配到的内容替换文本内容,使用格式:’2c thnr’

2. sed的简单增删查改

# 把passwd文件复制到当前用户家目录
cp /etc/passwd ~/
cd # 增
# 22行前插入
sed -i '22 i佛祖派来的逗比' passwd
# 22行后添加
sed -i '22 a佛祖派来的逗比' passwd
# 匹配postfix行,在行前插入
sed -i '/postfix/ iemail' passwd # 删
sed -i '22d' passwd
sed -i '/佛祖派来的逗比/d' passwd # 查,-n取消默认输出,即只输出匹配到的内容
sed -n '/root/p' passwd
sed -n '22p' passwd # 替换
# 替换匹配到的第一个root为Caiyun
sed -i 's#root#Caiyun#' passwd
# 替换所有root为Caiyun
sed -i 's#root#Caiyun#g' passwd

3. 扩展实例

# 取ip地址
ifconfig eth0|sed -nr '2s/^.*ddr:(.*) B.*$/\1/gp' # 转换列输出
sed -r 's#([^:]+)(:.*:)(/.*$)#\3\2\1#g' passwd # 优化sshd服务
sed '13a Port 52004\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' sshd_config # 打印文件内容不包含root用户行
sed '/root:x/d' passwd #指定行修改文件内容
sed '28s/dudu/DUDU/g' passwd # 优化开机自启动服务
chkconfig --list|grep "3:on"|egrep -v "crond|network|rsyslog|sshd|sysstat" |awk '{print"chkconfig",$1,"off"}'|bash # 批量更改文件名
ls rename/|sed -r 's/(^stu.*)_fin.*$/\1.png/g'
ls|sed 's/\(^stu.*\)_fin.*$/mv & \1.png/g'|bash
rename "_finished" "" stu*

Linux之sed命令常见用法的更多相关文章

  1. sed命令常见用法

    sed -n 'num1p' file 选出行号为num1的行sed -n 'num1,num2p' file 选出num1~num2行sed -n 'num1,$p' file 选出num1行到文件 ...

  2. linux中sed命令(全面解析)

    目录 一:linux中sed命令介绍 1.sed作用 2.sed命令格式 3.参数 4.sed的编辑模式 5.sed参数解析用法 二:sed 参数 -f 案例实战解析 1.前介 2.引入简介 3.方法 ...

  3. linux的sed命令(一)

    转自:https://www.cnblogs.com/ginvip/p/6376049.html Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务 ...

  4. Linux中find命令的用法汇总

    Linux中find命令的用法汇总 https://www.jb51.net/article/108198.htm

  5. linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号

    linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号 实现的功能是吧换行符换成逗号了,自己试验过. 求解释,:t N b t 都是什么意思??? :t 定义la ...

  6. Linux shell sed 命令详解

    详细的sed命令详解,请参考https://my.oschina.net/u/3908182/blog/1921761 sed命令常见用途 查找关键词做全局替换 查找某行的关键词做替换 查找关键字所在 ...

  7. linux的nohup命令的用法(后台运行程序命令)

    linux的nohup命令的用法. 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/ ...

  8. Linux系统sed命令常用参数实战

    Linux系统sed命令常用参数实战 常用参数 -n 输出某行的文本内容,通常与p联合使用, -e 命令行模式下进行sed的动作编辑,输出编辑后的内容,源文件不会发生变化 -f 以命令中指定的scri ...

  9. linux下shell脚本中sed命令的用法

    先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> te ...

随机推荐

  1. Ruby on Rails 单元测试

    Ruby on Rails 单元测试 为什么要写测试文件? 软件开发中,一个重要的环节就是编写测试文件,对代码进行单元测试,确保程序各部分功能执行正确.但是,这一环节很容易被我们轻视,认为进行单元测试 ...

  2. CSP/S 2020 退役记

    上一次的AFO记 上上次的AFO记 Day -INF 一条咸鱼的垂死挣扎. RP+=INF Day 0 出发辣. 早上来到机房,带上了准备的面包和泡面....然而后来嫌太占地方就没拿...草了. 而且 ...

  3. STL模板

    目录 栈stack 队列queue 列表List 集合set 映射map 多重映射multimap 对pair 元组tuple 容器containers 算法algorithms 仿函数/函数对象fu ...

  4. 计算机网络之传输层UDP协议

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105453096 学习课程:<2019王道考研计算机网络> 学习目的 ...

  5. OSI参考模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/104589085 学习课程:<2019王道考研计算机网络> 学习目的 ...

  6. Netty:Netty的介绍以及它的核心组件(三)—— 事件和ChannelHandler

    Netty 使用异步事件驱动(Asynchronous Event-Driven)的应用程序范式,因此数据处理的管道(ChannelPipeLine)是经过处理程序(ChannelHandler)的事 ...

  7. STM32程序异常——中断处理要谨慎

    问题背景 最近有一个新项目(车载项目),板子上除了原来的ARM + STM32F030K6Tx又多了一个8bit的mcu的单片机,这可真是嵌入式全家福了. 系统的主要核心工作是由arm来完成,但是在开 ...

  8. ESXi 6.7 的https服务挂掉处理方法 503 Service Unavailable

    首先进入EXSi开启SSH(ESXi的主机控制台,非web控制台,是安装esxi的控制台) 然后 /etc/init.d/hostd status 显示已停止, 使用 /etc/init.d/host ...

  9. JavaScript复习 1

    概括及使用方法: JavaScript编写规范 一般放在<head>-</head>中间 逐行被执行,越短越好 大小写敏感 语句是基本单位 通常以分号表示语句结束 多行语句可以 ...

  10. java+selenium+testNG+Allure报表【新增截图到报表功能】

    1.pom.xml配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...