当前位置: 首页 > article >正文

指令个人记录

grep

返回file_name中包括11111的文本行

grep 11111 file_name
grep "11111" file_name  #字符串中含空格用双引号括起来
grep 11111 file_1 file_2 file_3

 -E正则表达式匹配

grep -E "[1-9]+"

 -v返回file_name中不包括11111的文本行

grep -v 11111 file_name

搜索命令行历史记录中 输入过 git 命令的记录

history | grep git

-c统计文件或者文本中包含匹配字符串的行数 

grep -c 11111 file_name

-l查找匹配文本在哪些文件中 ,返回文件名

grep -l 11111 file1 file2 file3...

 -r 递归查找

grep -r 11111 .
# .表示当前目录。

-i忽略匹配样式中的字符大小写

grep -i "HELLO"

-I使得grep在处理二进制文件时不进行匹配

grep -I "pattern" *

打印出匹配文本之前-A或者之后-B(之前&之后-C )的行: 

seq 10 | grep -A 3 "5" 

在grep搜索结果中包括或者排除指定文件

# 只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep "main()" . -r --include *.{php,html}

# 在搜索结果中排除所有README文件
grep "main()" . -r --exclude "README"

# 在搜索结果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist

grep  -r "pattern" .  --exclude-dir=".git"

-o只输出文件中匹配到的部分 

echo this is a test line. | grep -o -E "[a-z]+."
line.

-e 制动多个匹配样式:

echo this is a text line | grep -e "is" -e "line" -o
is
is
line

 -Z使得grep在输出/读取文件名时使用ASCII NUL字符(\0)代替通常的换行符

#-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取输入并用0值字节终结符分隔文件名,然后删除匹配文件
grep "aaa" file* -lZ | xargs -0 rm
#-print0 告诉 find 命令以 ASCII NUL 字符(\0)作为分隔符来输出文件名,而不是使用换行符
find . -type f -print0 | grep -Z "pattern"
#file 1.txt\0
#file 2.txt\0

 -f从指定的文件中读取匹配规则,每行作为一个规则

grep -f rules.txt input.txt

 -m num 匹配 num 行后停止读取文件

grep -m 5 'example' *.txt

-q不进行标准输出。如果发现匹配项,则立即退出,并返回状态码0

if grep -q 'example' file.txt; then
    echo "Pattern found in file.txt"
else
    echo "Pattern not found in file.txt"
fi

-n在输出匹配行时显示其在文件中的行号

grep -n "pattern" file.txt

[root@ufo666 ~]# grep -n 'word' file.txt
2:This is a word
3:This is a word
4:This is a word
5:Another word here
6:A sentence without the wordss

pip

看当前环境包的版本

pip list

看某个特定包

pip show <包名>

 vim

常用

移动
n+上下左右箭头移动n个字符/n行

0

光标移动到该行最前面字符
^到本行第一个不是blank字符的位置
$光标移动到该行最后面字符
g_

到本行最后一个不是blank字符的位置。

G光标移动到文件最后一行
nG光标移动到文件第n行
w到下一个单词的开头(单词由字母,数字和下划线组成)
e到本单词的结尾(单词由字母,数字和下划线组成)
W到下一个单词的开头(单词是由blank字符分隔)
E到本单词的开头(单词是由blank字符分隔)
查找
/word从当前光标处往下查找字符串word
?word从当前光标处往上查找字符串word
n重复前一个查找操作,若上一个操作为/word 则继续向下查找word;,若上一个操作为?word 则继续向上查找word
N找上一个结果
* 和 # 匹配光标当前所在的单词(*向下,#向上)
复制
yy复制光标所在行
nyy复制光标所在的向下n行
删除
dd删除光标所在行
ndd删除光标所在向下n行
粘贴
p将已复制数据粘贴在光标下一行
P粘贴到光标所在行,原来内容下移
u撤销前一个操作
.重复前一个操作
ctrl+r取消撤销
插入
i光标所在处插入
I光标所在行第一个非空格符号处插入
o光标所在行下一行处插入新的一行
O光标所在行上一行处插入新的一行
:w将编辑的数据写入硬盘文件种
:q退出vi
:wq保存并退出
ZZ若文件未被修改则不保存退出;若文件被修改,则保存后退出
:w filename将编辑的数据另存为filename文件
:r filename将filename文件内容加到当前光标所在行后
:e filename 打开一个文件
:set nu显示行号
:set nonu取消显示行号
cw把光标位置到下一个单词之前的内容删掉
:q!退出不保存 
:bn 和 :bp可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。
%所有行/匹配下一个括号,并匹配另一半
  • s/要替换的关键字/替换后的关键字 + 回车替换光标所在行的第一个(从左到右)满足条件的关键字
  • ​ s/要替换的关键字/替换后的关键字g + 回车替换光标所在行的所有满足条件的关键字
  • ​ %s/要替换的关键字/替换后的关键字 + 回车针对文件的所有行进行替换(每行满足条件的第一个关键字)
  • ​ %s/要替换的关键字/替换后的关键字g + 回车 针对文件的所有行进行替换(每行所有满足条件的关键字)

在n1到n2行之间寻找word1,并将word1替换为word2

:n1,n2s/word1/word2/g

在1到最后一行之间寻找word1,并将word1替换为word2,替换前提示用户进行确认(confirm)

:1,$s/word1/word2/gc

全局将word1替换为word2 

%s/word1/word2/g

ye,从当前位置拷贝到本单词的最后一个字符

y2/foo,拷贝2个 “foo” 之间的字符串。

块选择

v

字符选择,将光标经过的字符选择

V

行选择,将光标经过的行选择

y

将选中地方复制起来

d

将选中地方剪切

p复制

参考:

【Linux】vim常用命令_dit anyway-CSDN博客

vim区域选择_如何在vim中垂直从所有行中快速选择区域-CSDN博客


http://www.kler.cn/a/323202.html

相关文章:

  • aws中AcmClient.describeCertificate返回值中没有ResourceRecord
  • 树莓派镜像 DIY 制作
  • Py之pymupdf:基于langchain框架结合pymupdf库实现输出每个PDF页面的文本内容、元数据等
  • Gin 框架中间件详细介绍
  • windows C#-异步编程概述(二)
  • RedHat7—Linux中kickstart自动安装脚本制作
  • Lab1:虚拟机kolla安装部署openstack,并创建实例
  • [大语言模型-论文精读] MoRAG - 基于多部分融合的检索增强型人体动作生成
  • 海尔嵌入式硬件校招面试题及参考答案
  • Python in Excel作图分析实战!
  • 关于Obj文件格式介绍与Unity加载Obj文件代码参考
  • 阿里云k8s发布vue项目
  • 防砸安全鞋这样挑,舒适又安心!
  • 用矩阵和统计报告估计polynomial线性回归的系数python
  • 直线模组降噪攻略
  • 【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
  • 16 Midjourney从零到商用·实战篇:产品工业设计
  • 2024AI做PPT软件如何重塑演示文稿的创作
  • C语言VS实用调试技巧
  • 华为LTC流程架构分享
  • 一天认识一个硬件之硬盘
  • 【代码模板】Python Decorator / 装饰器
  • 828华为云征文 | 华为云X实例部署Docker应用的性能评测优化与实践指南
  • Facebook对现代社交互动的影响
  • 【串口收发不定长数据】使用中断的方式—以AT32为例
  • 最近职场中的两点感悟与思考