Linux vi中查找字符内容的方法
使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。
这时,使用查找功能尤为重要。
方法如下:
1、命令模式下输入“/字符串”,例如“/Section 3”。
2、如果查找下一个,按“n”即可。
要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的第一个字符处。例如,要向上搜索 place一词,请键入:
vi 查找替换大全
vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
: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 "15" 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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
查找到结果后,如何退出查找呢?输入:noh命令。
转载于:https://www.cnblogs.com/azhqiang/p/5872046.html
Linux vi中查找字符内容的方法相关推荐
- 在 Linux 系统中查找 MAC 地址的方法
参考文章: 多种方法在Linux上找到MAC地址 引言: MAC(Media Access Control)地址是网络设备(如网卡)的唯一标识符,用于在局域网中进行通信.在 Linux 系统中,有几种 ...
- linux中替换的方法,linux vi 中s 替换方法
vi/vim 中可以使用 :s 命令来替换字符 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n ...
- linux服务器清除cdn,Linux服务器中查找并删除大文件的五种方法,Linux系统清除文件内容的命令分享...
很多时候,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用任何Linux命令行编辑器打开它.怎么能实现这一目标?在本文中,我们将借助一些有用的命令,通过几种不同的方式清空文件内容. ...
- linux系统vi光标移动字符,Linux vi中移动光标命令
Linux vi中移动光标命令 移动光标 上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行 下:j nj:向下移动n行 左:h nh:向左移动n列 右:l nl:向右移动n列 ...
- linux系统中清空文件内容的三种方法
1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下: vim file_name :%d :wq 2.使用cat命令情况,命令 ...
- linux 查找只读文件夹,Linux系统中查找命令find的使用方法(二)
今天达内Linux培训小编要继续跟大家分享关于Linux系统中中查找命令find的使用方法的文章.在上文中小编提到,Linux查找命令是Linux系统中很重要也是很常用的命令之一.Linux的查找命令 ...
- linux系统中find怎么用,Linux系统中查找命令find的使用方法(一)
今天达内Linux培训小编要跟大家分享的文章是关于Linux系统中中查找命令find的使用方法.熟悉Linux系统的小伙伴们都知道,Linux查找命令是Linux系统中很重要也是很常用的命令之一.Li ...
- 使用Scrutiny在您的网站中查找不同网址中的重复内容的方法
Scrutiny 9 for Mac相对Scrutiny8有更多的更新,而对于"页面检查员"一直在Scrutiny中可用.它显示了大量的信息; 元数据,标题,字数,页面上的链接数, ...
- 5 个用于在 Linux 终端中查找域名 IP 地址的命令
5 个用于在 Linux 终端中查找域名 IP 地址的命令 本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址.本教程将允许你一次检查多个域.你可能已经使用过这些命令来验证信息.但是 ...
最新文章
- 开发信息管理,团队协作效能事半功倍
- linux配置python_Linux--linux下配置安装python3
- asterisk cdr mysql_在asterisk中添加CDR sqlite支持 | 学步园
- QT的QPair类的使用
- 阿里云函数计算 FC再次荣获最受观众喜爱奖
- java求两个集合的交集和并集,比较器
- Redola.Rpc 集成 Consul 服务发现
- STL中的multimap---顺便说说如何查找同一关键字对应的所有值
- android一个工程的xml怎么引用另外一个工程的xml,如何在Android中使用XML引用库中另一个包的字符串?...
- Office 2007 小技巧
- 实时计算轻松上手,阿里云DataWorks Stream Studio正式发布
- JS常用事件兼容性处理方法
- 【Python】发送UDP数据(保姆级图文+附测试工具文件+api例程)
- 可乐要加冰才好喝啊 --- 装饰模式
- 条形码和区块链将彻底改变零售业
- java缓存击穿_对缓存击穿的一点思考
- Kakao拟16亿美元收购韩国最大音乐流媒体服务
- OpenSSL SSL_read: Connection was reset, errno 10054
- GridSearchCV实例:对Xgboost回归任务进行网格调参
- 虚幻引擎图文笔记:蓝图中二项切换节点(Flip Flop)的用法