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

指令个人记录

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 filelistgrep  -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; thenecho "Pattern found in file.txt"
elseecho "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.mrgr.cn/news/37765.html

相关文章:

  • 废品回收小程序:回收更加便捷!
  • 构建5G-TSN测试平台:架构与挑战
  • 变种水仙花数 - Lily Number
  • windows@win10@Win11版本号和代号命名变迁@获取或查看windows版本号信息详情方法列举
  • C++11中智能指针以及标准模板库 My_string My_stack
  • 钉钉H5微应用Springboot+Vue开发分享
  • re轻松拆分四则运算expression(^从头匹配、(?:xxxx)非捕获组、| 交替运算符联合演习)
  • Linux下的驱动开发二
  • 修改DNS地址有什么影响
  • Excel根据一个值匹配一行数据
  • HTX DAO重磅亮相Crypto Summit 2024:强势布局CIS地区,推动全球化扩张
  • 基于大数据的亚健康人群数据分析及可视化系统
  • 玩美移动发布最新全球趋势报告,以探讨影响美妆与时尚的主要AI趋势
  • AI 智能名片 S2B2C 商城小程序源码:以客户五感体验建立信任的新路径
  • pysim-4-1.1.17 eUICC ISD-R commands
  • centos安装nginx指定pcre位置
  • Simulink建模与仿真的基本过程
  • Dbt项目最佳实践指南-1
  • 物联网系统中模拟温度传感器测温方案
  • 门面(外观)模式