vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用编辑软件进行替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
s是search的意思
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:%s/the/THE/g
%代表整个文件,会将文件中多有的the改为THE
:5,100 d
删除5至100行
:5 d
删除第5行
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
:g+//+s/foobar/barfoo/g
:%s/$/'/g 每一行的行尾加单引号
:%s/^/'/g 每一行的行首加单引号
awk 提取第一列
awk -F"," '{print $1}' jisuandaoda_5_xian.txt >jisuandaoda_5.1.txt
awk -F":" 'BEGIN{OFS="+++"}/gdm/{print $1,$2,$3,$4}' /etc/passwd
原始结果
157438 13991351986 2000 2010-10-25 00:17:00 1
157439 15829725655 400 2010-10-25 00:18:40 1
157441 13679223573 300 2010-10-25 00:19:09 1
157442 13519182491 100 2010-10-25 00:19:21 1
awk 'BEGIN{FS="\t"}{OFS=""}{print $2",",$4}' gucheng.txt 输出结果
15191416684,2010-10-25 00:22:51
13519182491,2010-10-25 00:23:02
18792657899,2010-10-25 00:23:21
13468519312,2010-10-25 00:23:22
结论
FS 输入记录分隔符
\t 代表的是mysql的一种字段分隔,字段分隔符(默认是任何空格)。
OFS 输出记录分隔符
dos2unix window文本格式转换
:%s/^\n//g 删除空行
:%s/,/\r/g 逗号换成空行
我要将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下达指令?
:50,100
s/man/MAN/gc
s代表swap
一、多行
dd
删除一行
ndd
删除以当前行开始的n行
dw
删除以当前字符开始的一个字符
ndw
删除以当前字符开始的n个字符
d$、D
删除以当前字符开始的一行字符
d)
删除到下一句的开始
d}
删除到下一段的开始
d回车
删除2行
二、复制多行
任务:将第9行至第15行的数据,复制到第16行
方法1:(强烈推荐)
:9,15 copy 16 或 :9,15 co 16
由此可有:
:9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面
分享到:
相关推荐
linuxvi替换命令借鉴.pdf
Linux vi替换字符串-lhrbest-ITPUB博客.mhtmlLinux vi替换字符串-lhrbest-ITPUB博客.mhtml
linux vi 常用命令 命令行模式(command mode)功能键 1). 插入模式 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置...
8. 将50到100行之间的小写字符串man改为大写MAN字串,挨个确认是否替换; 9. 全部反悔;(复原前面的修改); 10. 复制60到73行之间的内容,黏贴到最后一行; 11. 将21到42之间以#开头的行删除; 12. 将现在的文件...
windows的BAT或者linux的VI下批量更改替换文件名的脚本.昨天我整理文档,里面有一大堆后缀名相同的文件,如: 001.ppt、002.ppt和003.ppt这样命名的,现在要把它们修改成 课件_001.ppt、课件_002.ppt和课件_003.ppt...
Linux vi/vim编辑器按键说明 (一般模式可用的按钮说明,光标移动、复制粘贴、查找替换等)
vi是标准的Linux文本编辑程序 vi是visual interface 的简称,它在 Linux 上的地位就同Edit 程序在 DOS 上 一样,可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这...
大数据基础-Linux基础详解课程
首先vi是Linux终端下或控制台下常用的编辑器,基本的操作方式为: vi /路径/文件名 进入之后按”a”、“i”、”o”键都可以对文件进行编辑 退出vi编辑模式的方法: 按”esc”键,输入”:q!”即可强制退出(注意...
Linux系统中的VI命令 1、Vi介绍: Vi编辑器是所有Unix及Linx系统下标准的编辑器,类似于window系统下的notepad(记事本)。 Vi和Vim都是linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。 2、Vi三种...
2.5.6 文本查找和替换 2.5.7 文本的复制与粘贴 2.6 Emacs编辑器的使用 2.7 命名规范 2.7.1 标识符 2.7.2 关键字 2.7.3 命名规范 2.8 面试题选与实例精讲 2.8.1 面试题选...
·使用vi的全局搜索与替换功能 ·自定义vi,并执行unix的命令 ·使用vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计vim脚本 ·充分利用图形化用户界面版的vim,gvim ·使用vim的...
介绍了Linux中的Vi编辑相关的一些操作。包括如下几个部分的内容: 1、Vi的2模式 2、当我们按ESC进入Command模式后,可以使用下面的一些键位来移动光标 3、插入模式(文本的插入) 4、文本内容的删除操作 5、退出保存...
本章介绍Linux上最常用的文本编辑器Vi。文本编辑器是所有计算机系统中最常使用的一种工具。用户在 使用计算机的时候,往往需要建立自己的文件,无论是一般的文本文件、数据文件,还是编写的源程序 文件,这些...
关于文本编辑器 vim 的使用 【注】里面的内容和自己跟着敲敲,文件名字换成自己的,可以套用我的模板和前言结论,代码最好...3.字符串替换,行的复制,移动,删除。 4.文本的查找,撤销与重复。 【注】原创文章,请勿转载
Linux文本编辑器 - vi;Linux文本编辑器 - vim;vim编辑器命令格式;vim基础操作 - 打开文件;vim基础操作 - 移动光标;vim基础操作 - 数据操作;vim基础操作 - 行号显示与取消;vim基础操作 - 查找与替换;vim基础操作 - ...
·使用vi的全局搜索与替换功能 ·自定义vi,并执行Unix的命令 ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化...
·使用vi的全局搜索与替换功能 ·自定义vi,并执行Unix的命令 ·使用Vim的扩展文本对象以及威力强大的正则表达式 ·执行多窗口编辑,并设计Vim脚本 ·充分利用图形化用户界面版的Vim,gvim ·使用Vim的强化...
Vi是Linux世界里最常用的全屏编辑器,所有的Linux机器都提供该编辑器,而Linux里提供的是VI的加强版——VIM,但同VI是完全兼容。VI的原意是“visual interface”,即可视编辑器,用户键入的内容会立即被显示出来、...
Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替