1、vi a.txt 进去文件,在没有进入编辑模式(i)下 操作如下:
编辑:
- 复制当前行: yy
- 粘贴:p
- 删除当前行:dd
- 清空文件: :%d
- 回退: u
- 撤销回退:ctrl+r
光标移动:
- 光标到页首: H
- 光标到页尾: L
- 光标到中部:M
- 显示行号: :set nu
- 取消显示行号: :set nonu
- 跳转到指定行(例如第5行): :5
- 翻上一页: ctrl+b
- 翻下一页: ctrl+f
查找:
- 查找字符串(例如aaa): /aaa
- 查找下一个(查找操作回车后输入): n
- 查找上一个(查找操作回车后输入): N
替换( / 可以用 # 代替):
- 全文替换(将apple/orange/mango 替换尾fruit):
:%s/apple\|orange\|mango/fruit/g
- 当前行全替换(将foo替换尾bar): :s/foo/bar/g
- 当前行替换首次出现: :s/foo/bar/
- 不区分大小写替换(i标志): :s/foo/bar/i
- 指定行替换(3~5行)所有出现: :3,10s/foo/bar/g
- 相对行替换(当前行~接下来4行): :.,+4s/foo/bar/g
- 当前行到结尾替换:
:.,$s/foo/bar/g
2、sed 命令
打印:
- 输出指定行(打印第二行): sed -n '2p' a.txt
- 输出非行(除了2到4行的全部内容): sed '2,4d' a.txt
- 替换输出(替换第 3 行中 89 替换成 99 数据) : sed '3s/89/99/g' a.txt
替换文件本身:
- 不会打印(替换第 3 行中 89 替换成 99 数据): sed -i '3s/89/99/g' a.txt
标签:txt,bar,vi,查找,sed,常用命令,foo,替换 From: https://www.cnblogs.com/bestzhang/p/17553185.html