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. .net,C#,Vb,F#,Asp,Asp.net区别以及作用和方向

    .net是平台,其他都是运行在其.NET FrameWork环境下的 C#,Vb都是语言运行在.net 平台下 Asp,Asp.net 都是用来写Web网页的,但是Asp和Asp.net有区别 Asp ...

  2. 在Vue前端界面中,几种数据表格的展示处理,以及表格编辑录入处理操作。

    在Vue前端项目中,我这里主要是基于Vue+Element的开发,大多数情况下,我们利用Element的表格组件就可以满足大多数情况的要求,本篇随笔针对表格的展示和编辑处理,综合性的介绍几款表格组件的 ...

  3. 个人宽带如何开启IPv6网络访问

    IPv6是大势所趋,就在前段时间湖南联通发布公告,对家庭宽带提供 IPv6 地址,不再提供 IPv4地址,那本文就介绍 个人宽带如何开启 IPv6网络访问. 湖南联通停止向普通家庭宽带用户提供公网 I ...

  4. Envoy实现.NET架构的网关(四)集成IdentityServer4实现OAuth2认证

    什么是OAuth2认证 简单说,OAuth 就是一种授权机制.数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据.系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使 ...

  5. 浅议NetMQ常见模式和消息加密机制

    浅议NetMQ常见模式和消息加密机制 概述 在传统企业级开发中,消息队列机制已经成为一种非常常见的技术实现手段,而基于NetMQ则看起来有点像一朵"奇葩",看起来从名字似乎是一个消 ...

  6. mysql数据库导入导出文件sql文件

    window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

  7. 一维前缀和 连续数组和为k

    给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数. 滑动窗口没办法解决有负数的情况 方法一: 预处理 前缀和 sum_ij = preSum[j] - preSum[i-1 ...

  8. Java测试开发--Spring Tools Suite (STS) 简介(一)

    sts是一个定制版的Eclipse,专为Spring开发定制的,方便创建调试运行维护Spring应用. 官网下载之后,可以看到一个sts-bundle,里面有三个文件夹,一个法律信息,一个tc Ser ...

  9. loadRunner12 设置关联 获取服务端动态数据

    关联:服务器返回给客户端一些动态变化的值,客户端用这些值去访问服务器,不能把这些值写死在脚本里面,而应该存放在一个变量里面. 在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关 ...

  10. not noly go —— 运行轨迹[一]

    前言 学习一下go 语言,也不完全是go,几乎是所以语言通用的部分,主要在于巩固一下基础,几乎不会涉及到语法相关的东西. 正文 前置内容 说起语言,很多人喜欢谈论解释型语言和编译型语言,其实对语言谈论 ...