Linux替换命令

:s/^.*$/\L&/100

##将100行内的小写转换成大写

vi/vim 中可以使用 :s 命令来替换字符串。
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/


* ************************************


1.         :s/vivian/sky/ 替换当前行第一个 vivian 为 sky
            :s/vivian/sky/g 替换当前行所有 vivian 为 sky

2.         :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
            :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
                     (n 为数字,若 n 为 .,表示从当前行开始到最后一行)


3.         :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
            :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

4.         可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
            :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

5.         删除文本中的^M
            问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。
· 使用命令:cat filename1 | tr -d “^V^M” > newfile; 
· 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。 
· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。 
· :%s/^M$//g 
             如果上述方法无用,则正确的解决办法是:
· tr -d   "\r"        < src   >dest 
· tr -d   "\015" <src    >dest 
· strings              A>B

6.        其它
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/       用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g      用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g   功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

转载于:https://www.cnblogs.com/beeman/p/7776468.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bash中时间、日期操作

From: Linux 使用 date 計算時間(昨天、明天) 偶尔要算算时间&#xff0c;转载一下&#xff0c;不用再去man了 昨天 (前一天) date –date’1 days ago’ “%Y-%m-%d”date -d ’1 days ago’ “%Y-%m-%d”date -d yesterday “%Y-%m-%d” 明天 (後一天) date –date’1 days…

如何用Chrome浏览器下载网页音乐视频

打开网页&#xff0c;先让要下载的视频播放&#xff0c;右键单击选择审查元素&#xff08;F12&#xff09;&#xff0c;选择上方的Network选项&#xff0c;按F5刷新&#xff0c;这个时候我们可以看到框架中Size下的不少文件数据数字正在变大&#xff0c;按size降序排列。点击表…

Linux 系统应用编程——标准I/O

标准I/O的由来 标准I/O指的是ANSI C 中定义的用于I/O操作的一系列函数。 只要操作系统安装了C库&#xff0c;标准I/O函数就可以调用。换句话说&#xff0c;如果程序中使用的是标准I/O函数&#xff0c;那么源代码不需要任何修改就可以在其他操作系统下编译运行&#xff0c;具有更…

GitLab五种权限

From: https://blog.csdn.net/chenguanghan123/article/details/100523824

Winfrom实现圆角设计

主要代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Paint(object sender, PaintEventArgs e) { Type(this, 25, 0.1); } private void…

Linux 系统应用编程——进程基础

一、Linux下多任务机制的介绍 Linux有一特性是多任务&#xff0c;多任务处理是指用户可以在同一时间内运行多个应用程序&#xff0c;每个正在执行的应用程序被称为一个任务。 多任务操作系统使用某种调度(shedule)策略&#xff08;由内核来执行&#xff09;支持多个任务并发执行…

[正则] - 学习过程1

1. 判断是否以xxxx开头: 以数字. 开头&#xff0c;如“2. ” if re.match(^\d\. , content):return <h3>%s</h3> %(content) 2. 将内容中以[ dsfda789 df ] 的内容替换成tpl index 0 input {w: 60 # input宽度 }def replaceValue(matched):global i…

【Python文件处理】递归批处理文件夹子目录内所有txt数据

因为有个需求&#xff0c;需要处理文件夹内所有txt文件&#xff0c;将txt里面的数据筛选&#xff0c;重新存储。 虽然手工可以做&#xff0c;但想到了python一直主张的是自动化测试&#xff0c;就想试着写一个自动化处理数据的程序。 一.分析数据格式 需要处理的数据是txt格式存…

Windows Azure 之服务总线中继服务

Windows Azure的服务总线允许在Web服务内部与外部之间做成一个公共的连接点&#xff0c;在无需更改企业防火墙或者其他安全配置的情况下连接内部和外部的服务 而使用Azure云服务的时候由于缩放的原因通过IP来制定连接也是不科学的&#xff0c;而中继服务则可以充当很好的公共连…

C#对char[]的处理

先来看一段简单的C#代码&#xff1a; private void button3_Click(object sender, EventArgs e){char[] a new char[6] { h, e, L, O, \0, \0 }; // 少赋值一个元素都会报错string b new string(a);string result String.Format("b {0}, b.Length {1}",…

Centos7 关闭防火墙(Firewalld ),使用防火墙(iptables)

1、直接关闭防火墙 systemctl stop firewalld.service&#xff1b; #停止firewall systemctl disable firewalld.service&#xff1b; #禁止firewall开机启动 2、安装并启动 iptables service&#xff0c;以及设置开机自启 yum -y install iptables-services&#xff1b;#安装i…

【qt】QT 的信号与槽机制

QT 是一个跨平台的 C GUI 应用构架&#xff0c;它提供了丰富的窗口部件集&#xff0c;具有面向对象、易于扩展、真正的组件编程等特点&#xff0c;更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。 QT 支持下列平台&#xff1a;MS/WINDOWS-9…

C# String 前面不足位数补零的方法

using System; using System.Collections.Generic; using System.Linq;namespace ConsoleApp1 {class Program{static void Main(string[] args){//var a 5;var a 24;// 整数前面补N个0以保存对齐Console.WriteLine("{0:D4}", a);Console.WriteLine(a.ToString(&qu…

Linux 系统应用编程——进程间通信(上)

现在再Linux应用较多的进程间通信方式主要有以下几种&#xff1a; 1&#xff09;无名管道&#xff08;pipe&#xff09;及有名管道&#xff08;fifo&#xff09;&#xff1a;无名管道可用于具有亲缘关系进程间的通信&#xff1b;有名管道除具有管道相似的功能外&#xff0c;它还…

通过JDBK操作数据库

一、配置程序——让我们程序能找到数据库的驱动jar包1.把.jar文件复制到项目中去,整合的时候方便。2.在eclipse项目右击“构建路径”--“配置构建路径”--“库”--“添加外部jar”--找到数据库的驱动jar包--点击确定。会在左侧包资源管理器中出现“引用的库”&#xff0c;在里面…

scanf函数详解(下)

问题一如何让scanf()函数正确接受有空格的字符串&#xff1f;如: I love you!#include <stdio.h>int main(){char str[80];scanf("%s",str);printf("%s",str);return 0;}输入&#xff1a;I love you!上述程序并不能达到预期目的&#xff0c;scanf()扫…

77 大道理

1. 鲶鱼效应 以前&#xff0c;沙丁鱼在运输过程中成活率很低。后有人发现&#xff0c;若在沙丁鱼中放一条鲶鱼&#xff0c;情况却有所改观&#xff0c;成活率会大大提高。这是何故呢&#xff1f;原来鲶鱼在到了一个陌生的环境后&#xff0c;就会“性情急燥”&#xff0c;四处乱…

Linux 系统应用编程——网络编程(常用命令解析)

1、telnet Telnet协议是TCP/IP协议族中的一员&#xff0c;是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序&#xff0c;用它连接到服务器。终端使用者可以在telnet程序中输入命令&#…

灾难 BZOJ 2815

灾难 【样例输入】 5 0 1 0 1 0 2 3 0 2 0 【样例输出】 4 1 0 0 0 题解&#xff1a; 先跑出拓扑序 我们按拓扑序建立一棵“灭绝树” 灭绝树含义是当一个点灭绝时&#xff0c;它的子树将会全部灭绝 所以答案就是点在灭绝树中的子树大小 一个点如果灭绝&#xff0c;那么需要所有…

centos关于”running yum-complete-transaction first...

2019独角兽企业重金招聘Python工程师标准>>> 今天在用yum安装软件出错几次户&#xff0c;总是有提示信息&#xff1a; There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. The program yum…