Linux替换命令

转载 2017年01月03日 20:59:11

: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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

shell中的命令替换和变量替换

可以用‘command’, 也可以用$(command).
  • gzhouc
  • gzhouc
  • 2015年07月04日 14:48
  • 1318

Linux Shell编程(24)——命令替换

命令替换 将会重新分配一个命令[1]甚至是多个命令的输出; 它会将命令的输出如实地添加到另一个上下文中. [2]使用命令替换的典型形式是使用后置引用(`...`). 后置引用形式的命令(就是被反引号括...
  • yincheng01
  • yincheng01
  • 2014年09月30日 08:10
  • 2146

Linux 管道、命令替换、重定向

Linux 管道、命令替换、重定向输出 如何修改系统的默认启动级别 如何把文件传到Linux机器中去(vsftpd安装) Linux安装jdk,tomcat,mysql...
  • jsjdtb356
  • jsjdtb356
  • 2016年09月06日 09:16
  • 619

linux sed替换命令s举例

linux sed命令不会真正修改原文本,除非重定向 linux sed替换命令s sed 's/test/mytest/g' example.txt 表示将example.txt中的test文本全...
  • Dean_Deng
  • Dean_Deng
  • 2015年08月02日 14:58
  • 7831

Linux:shell脚本之命令替换(eval,反引号和$())

关于shell脚本中的反引号、$()与eval实行命令替换的区别与联系
  • if9600
  • if9600
  • 2017年07月03日 17:33
  • 381

linux基础命令之:vi模式下查找和替换

一、查找 查找命令 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N...
  • BabyFish13
  • BabyFish13
  • 2016年01月20日 14:46
  • 5599

Linux vi/vim替换命令的使用说明

vi/vim 中可以使用 :s 命令来替换字符串。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sk...
  • superbfly
  • superbfly
  • 2015年05月08日 10:38
  • 1027

linux服务器被挂马,ps命令netstat命令被挟持替换成其他程序

公司一套hadoop集群,装的CDH CM,被挂马了,动不动就特别卡,流量占用特别高。当初为了方便,裸在公网上了。而且密码还简单,这下是血的教训了。虽然上面已经同意了全部重装了,但是本屌有点不甘心,想...
  • feloxx
  • feloxx
  • 2015年10月20日 10:29
  • 3477

《Linux Shell编程学习笔记之二》:特殊变量(\$*和\$@的区别)、命令替换和变量替换

《Linux Shell编程学习笔记之二》:特殊变量($*和$@的区别)、命令替换和变量替换特殊变量一般变量比较简单哈,与Java、C/C++不一样的地方在于不需要定义,直接使用即可。例如:#!/bi...
  • u010412719
  • u010412719
  • 2016年10月22日 22:06
  • 948

VIM文本替换命令

http://blog.sina.com.cn/s/blog_94a93cff0101b5gv.html 在VIM中进行文本替换:     1. 替换当前行中的内容:   ...
  • hshl1214
  • hshl1214
  • 2016年03月07日 14:19
  • 2269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux替换命令
举报原因:
原因补充:

(最多只允许输入30个字)