首页
学习
活动
专区
工具
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-删除所有空白,模式^$匹配所有空行。

70.8K31
您找到你想要的搜索结果了吗?
是的
没有找到

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"

12.5K32

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

84810

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

作者:刘早起 来源:早起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.2K20

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

1.9K30

Linux 删除文本中的重复

在进行文本处理的时候,我们经常遇到要删除重复的情况。那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的。...shell> sort -k2n file | uniq 这里我做了个简单的测试,当file中的重复不再一起的时候,uniq将服务删除所有的重复。...经过排序所有相同的行都在相邻,因此unqi可以正常删除重复。 第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。...P; D' 最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了...参考推荐: 删除文本中的重复(sort+uniq/awk/sed)

8.4K20
领券