首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在VimVi中删除、多行、范围、所有及包含模式的

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷的命令可以删除多行、范围。 删除 在Vim中删除一的命令是dd。...删除所有 要删除所有,您可以使用代表所有的%符号或1,$范围: 1、按Esc键进入正常模式。 2、键入%d,然后按Enter键以删除所有。...删除包含模式的 基于特定模式删除多行的语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含的。 要匹配与模式不匹配,请在模式之前添加感叹号(!): :g!...//d 模式可以是文字匹配或正则表达式,以下是一些示例: :g/foo/d-删除所有包含字符串“foo”的,它还会删除“foo”嵌入较大字词(例如“football”)的。 :g!.../foo/d-删除所有不包含字符串“foo”的。 :g/^#/d-从Bash脚本中删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白,模式^$匹配所有空行。

91.8K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 打印文本部分行内容(前几行,指定,中间几行,跨行,奇偶,后几行,最后一匹配

    背景 打印对账文件最后一汇总信息,通过钉钉定时发送到运维群。顺便总结下 Linux 打印文本部分行内容的各种方法。...=0' test.txt $ awk 'NR%2' test.txt ## i 为变量,未定义变量初始值为 0,对于字符运算,未定义变量初值为空字符串 ## 读取第 1 记录,进行模式匹配:i=!...## 读取第 2 记录,进行模式匹配:i=!1(因为上次 i 的值由 0 变成了 1),条件为假不打印。 ## 读取第 3 记录,因为上次条件为假,i 恢复初值为 0,继续打印。...test.txt $ sed -n 'n;p' test.txt $ sed -n '1~1p' test.txt $ sed -n '1,$n;p' test.txt 打印最后 N 行内容 # tail 打印...p' test.txt $ grep -v "^1" test.txt # 从匹配 "03" 到第 5 行内容 $ sed -n '/03/,5p' test.txt # 打印匹配 "03"

    13.3K32

    Shell代码查找所有代码行数

    最近写简历, 想算下自己的这个项目一共有多少代码, 好方便在简历上展示. 本来想着一直用git管理代码, 顺便统计下好了. 结果竟然没有在git中找到单独统计行数的工具, 太出乎我意料了....用Java, Python肯定可以实现, 但是感觉太重, 我只是想随便查查我的代码一共有多少, 3秒钟就可以搞定的那种, 不想辛辛苦苦的写foreach循环, 递归调用, 然后可能还有各种边界条件要考虑...-name "*.cs" | xargs wc -l 逐一解释一下: find : linux的查找命令, 查找符合条件的文件....这里-name跟着”*.cs”, 就是表示所有以cs结尾的文件....-iname是大小写不敏感的, 比如-iname “*.cs”就是匹配所有以”*.cs”,”*.Cs”,”*.cS”,”*.CS”结尾的文件. . : “.”在这里表示当前目录, 比如想要执行当前目录的某个文件

    1.1K30

    突破Hooks所有限制,只要50代码

    本文会用50代码实现无限制版Hooks,其中涉及的知识也是Vue、Mobx等基于响应式更新的库的底层原理。 本文的正确食用方式是收藏后用电脑看,跟着我一起敲代码(完整在线Demo链接见阅读原文)。...state之间的联系,包括: 订阅关系:将该effect订阅的所有state变化移除 依赖关系:将该effect依赖的所有state移除 function cleanup(effect) { //...将该effect订阅的所有state变化移除 for (const dep of effect.deps) { dep.delete(effect); } // 将该effect依赖的所有...state移除 effect.deps.clear(); } 移除,执行useEffect回调会再逐一重建关系。...callback) { const [s, set] = useState(); useEffect(() => set(callback())); return s; } 自动依赖跟踪 这套50

    88310

    代码即可导出所有浏览记录

    作者:刘早起 来源:早起Python 一Python代码即可导出多种浏览器的历史记录?就像这样? ?...Python中我们可以使用内置OS模块找到该数据库文件,再使用Python内置的sqlite3模块可以轻松读取并导出浏览记录数据,而这个过程在GitHub上已经有一位外国小哥帮我们完成了,总共不到200代码...,现在我们只要使用pip install browserhistory安装,接着进入Python导入 import browserhistory as bh 现在只要一代码即可查看全部历史浏览记录 bh.get_browserhistory...并且可以查看指定浏览器的记录,比如Safari import pandas as pd pd.DataFrame.from_dict(bh.get_browserhistory()['safari']) 当然也可以一代码将历史记录导出为

    1.3K20

    2代码实现修改代码自动重载

    有没有办法做到修改了项目使用的源码文件,让程序自动重新运行?...肯定有办法,三方库 watchdog 可以监控文件的新增,删除,和修改,可以在这些事件发生执行相应的动作,但它不够完美: 可以对某一路径进行监听,但不能解析项目 import 了哪些文件,import...直到我用了 Django,Django 的 autoreload 机制,完美的解决了上面 3 个问题,改动代码保存可以立即看到程序的及时反馈,大大提升了 Debug 的效率,堪称神器。...() sys.exit(exit_code) except KeyboardInterrupt: pass run_with_reloader 函数第一...两代码就可以实现,我这里做了个 demo: demo 目录树如下: (py37env) ➜ test tree . ├── autoreload.py ├── test.py └── test2.py

    2K30

    代码即可导出所有浏览记录

    文含 1043 字,4 图表截屏 建议阅读 5分钟 一Python代码即可导出多种浏览器的历史记录?就像这样? ?...Python中我们可以使用内置OS模块找到该数据库文件,再使用Python内置的sqlite3模块可以轻松读取并导出浏览记录数据,而这个过程在GitHub上已经有一位外国小哥帮我们完成了,总共不到200代码...,现在我们只要使用pip install browserhistory安装,接着进入Python导入 import browserhistory as bh 现在只要一代码即可查看全部历史浏览记录 bh.get_browserhistory...并且可以查看指定浏览器的记录,比如Safari import pandas as pd pd.DataFrame.from_dict(bh.get_browserhistory()['safari']) 当然也可以一代码将历史记录导出为

    70030
    领券