含义 -v 显示不匹配行信息(反向搜索) -i 搜索时忽略大小写 -n 显示行号(文件中的行号) -r 递归搜索(搜索文件夹) -E 支持扩展正则表达式 -F 不按正则表达式匹配,按照字符串字面意思匹配...同时指定行分隔符和列分隔符 cat show.txt python|java|php--flink|hadoop|storm 先输出每一行数据 # RS为指定行分隔符 awk 'BEGIN{RS="-...hadoop集群,当想关闭集群中的所有DataNode节点(可以认为一个应用),假如每个机器jps,查看pid,kill。...很麻烦,直接写了一个脚本,依次ssh到各个节点,然后执行如下命令即可,超级省事 kill `jps | grep 'DataNode' | awk '{print $1}'` sed sed的功能和文本编辑器有点类似...,因为我在Linux对文本进行修改用vim比较多,sed的话可能在脚本中用的多一点,因此也没多少经验,简单介绍一个替换的示例 cat show.txt this is a test for sed this
“命令与”/“的工作相同,只是搜索方向相反.“N"命令会重复前一次查找,但是与最初用”/“或”?“指定的搜索方向相反。...18.在文本中查找下一个word 把光标定位于这个word上然后按下"“键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。”#“命令是”"的反向版。...**复制文本(VIM编辑器内复制) "y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word....然后在"fab2.java"文件中,用命令"GnB"在最后一行设置名为B的标记。在可以用"F"命令跳转到文件"fab1.java"的半中间。...vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky n 为数字,若 n 为 .
项目最近遇到一个需求: 给定一组文本文件,每个文本包含若干行,每一行是一条数据记录; 每一行各字段按照如下方式排布,首先是n个metafield字段,紧接着是最多4个keyfield字段,然后是m个valuefield...|valuefield_m 任务是对这组文件按keyfields_string除重 除开业务细节,这个任务本质是: 遍历每个文件的每一行; 然后截取出keyfield字段集合; 然后对其进行重复判断;...本文想探讨的是在给定了key字段在字段列表中开始下标和key字段个数后,如何在整行字符串中定位到key字符串的起始位置。...keyfields_string,为何还要查找“|”字符的位置,我想说在这里只是比较在字符串中查找子串的各种方法。...并且在查找下一个子串的方式上有少许不同,一种是当找到当前子串位置后,记录下该位置,然后下一次从本次找到的位置+1开始查找,另一种是每找到一个子串,就去掉前缀部分,然后下一次在剩下的字符串中查找。
工作方式1) 执行begin中语句块;2) 从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕;3) 执行end语句块;特殊变量:NR NF $0 $1...;例:打印每一行的第二和第三个字段awk '{print $2,$3}' file统计文件的行数awk ' END {printNR}' file grep 主要用于文本搜索,它能使用正则表达式搜索文本...在多行类似这样的结构文本中,需要把文字提取出来,然后计算所有文本的time总和,于是便想到了用前面的文本处理过程。...> result.txt 然后再查找time所在的行,将第二列的数据进行累加,就得到了所求的time的总和。...以上就是一些文本处理命令的简单介绍,在平时的工作中遇到文本处理的问题,会比较方便快捷的解决。
可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。...六查找与替换 6.1 查找 /something: 在后面的文本中查找something。 ?something: 在前面的文本中查找something。...j的含义是grep结束后,结果停在第j项,默认是停在第一项。 vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。...:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。 :%s//xxx/g - 在每一行的行尾插入xxx,表示行尾。 所有替换命令末尾加上c,每个替换都将需要用户确认。...命令帮助的格式为:第一行指明怎么使用那个命令; 然后是缩进的一段解释这个命令的作用,然后是进一步的信息。 :helptags somepath 为somepath中的文档生成索引。
前言 上个月组内来了一个新的小伙伴,赶巧那个时候我休假了!当我休完假来的时候,这个新小伙伴成了我同桌,然后就是一起做项目咯。...以在最底一行输入命令 dd 移动光标到某一个位置,删除一整行数据命令 o 在当前行的下面另起一行,并变为输入模式 shift+g 跳转到文件末尾 gg 跳转到文件首行g 下图所示是vim处于命令行模式的状态示意图...;整行文本放在行下面,若是非整行文本则放在光标后面 ④ P 将指定缓冲区的内容放到当前光标的位置之上;整行文本放在行下面,若是非整行文本则放在光标后面 剪切和粘贴键命令 ⑦ 文本修改键命令 ①...重复上一次的修改 -- 注意该命令是:英文符号点 文本修改键命令 ⑧ 搜索替换命令(需在底线命令模式) ① :/string 从文件首部开始查找到尾部;按n键可以跳到下一个,N上一个,另外按/...string 同上,从当前光标向文件首部查找 ③ :%s/word1/word2/g 从文件首到尾替换每一行的 word1为 word2 ④ :num,num1s/word1/word2/g
三种模式切换快捷键: 模式 快捷键 命令模式 ESC 输入模式 i或a 底线命令模式 : 命令模式 在命令模式中控制光标移动和输入命令,可对文本进行复制、粘贴、删除和查找等工作。...命令使用示例: 构造两个相似的文件 echo -e '第一行\n第二行\n我是log1第3行\n第四行\n第五行\n第六行' > 1.log echo -e '第一行\n第二行\n我是log2第3行\n...在Shell脚本中,grep通过返回一个状态值来表示搜索的状态: 0:匹配成功。 1:匹配失败。 2:搜索的文件不存在。 命令格式:grep [参数] [正则表达式] [文件]。...以递归的方式查找目录下含有关键字的文件。 grep -r *.sh /etc 使用正则表达式匹配httpd配置文件中异常状态码响应的相关配置。...默认情况下,awk会从输入中读取一行文本,然后针对该行的数据执行程序脚本,但有时可能需要在处理数据前运行一些脚本命令,这就需要使用BEGIN关键字,BEGIN会在awsk读取数据前强制执行该关键字后指定的脚本命令
命令与"/"的工作相同,只是搜索方向相反."N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。...18.在文本中查找下一个word 把光标定位于这个word上然后按下"*"键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。"#"命令是"*"的反向版。...对于以"dd"删除的整行内容,"P"会把它置于当前行的上一行。"p"则是至于当前行的后一行。也可以对命令"p"和"P"命令使用命令记数。它的效果是同样的内容被取回指定的次数。...32.复制文本(VIM编辑器内复制) "y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word. ...然后在"fab2.java"文件中,用命令"GnB"在最后一行设置名为B的标记。在可以用"F"命令跳转到文件"fab1.java"的半中间。
2.删除一行 删除一整行内容使用“dd”命令。删除后下面的行会移上来填补空缺。 3.删除换行符 在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是“J”。...命令与“/”的工作相同,只是搜索方向相反.”N”命令会重复前一次查找,但是与最初用“/”或“?”指定的搜索方向相反。 ...18.在文本中查找下一个word 把光标定位于这个word上然后按下“*”键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。“#”命令是“*”的反向版。...32.复制文本(VIM编辑器内复制) “y”操作符命令会把文本复制到一个寄存器3中。然后可以用“p”命令把它取回。因为“y”是一个操作符命令,所以你可以用“yw”来复制一个word. ...然后在“fab2.java”文件中,用命令“GnB”在最后一行设置名为B的标记。在可以用“F”命令跳转到文件“fab1.java”的半中间。
一、基础 一个Excel文档称为工作簿(workbook)、一个工作簿中可以包含多个工作表(sheet) ctrl+向右箭头 查看最后一列 ctrl+向下箭头 查看最后一行 二、合并单元格 三、等高等宽...IF 函数 此函数用于在条件为真时返回一个值,条件为假时返回另一个值。 下面是 IF 函数的用法视频。 LOOKUP 函数 需要查询一行或一列并查找另一行或列中的相同位置的值时,请使用此函数。...VLOOKUP 函数 如果需要按行查找表或区域中的内容,请使用此函数。例如,按员工号查找某位员工的姓氏,或通过查找员工的姓氏查找该员工的电话号码(就像使用电话簿)。...MATCH 函数 此函数用于在单元格区域中搜索某项,然后返回该项在单元格区域中的相对位置。...DAYS 函数 此函数用于返回两个日期之间的天数。 FIND、FINDB 函数 函数 FIND 和 FINDB 用于在第二个文本串中定位第一个文本串。
复制粘贴一块代码 你可能经常需要复制一行或一大块代码,使用 Vim 快捷键来实现此功能是非常简单的: 按 Esc 切换到正常模式; 把光标移到你需要复制的代码行首; 按 V 选择整行,可移动光标选择多行...在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线/,之后跟上要搜索的词,回车即可。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...vim中以16进制查看文件 正常模式下,输入:%!xxd会把当前文本转换成16进制 > vim rumenz.txt 123 :%!...:.,+3s/rumen/rumenz/g 每一行后面追加123 :%s/$/123/ 每一行前面加#,添加注释 :%s/^/#/ 删除每一行开头的#,删除注释 :%s/^#//
2.删除一行 删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。 3.删除换行符 在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。...命令与"/"的工作相同,只是搜索方向相反."N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。...18.在文本中查找下一个word 把光标定位于这个word上然后按下"*"键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。"#"命令是"*"的反向版。...32.复制文本(Vim编辑器内复制) "y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word....然后在"fab2.java"文件中,用命令"GnB"在最后一行设置名为B的标记。在可以用"F"命令跳转到文件"fab1.java"的半中间。
复制粘贴一块代码 你可能经常需要复制一行或一大块代码,使用 Vim 快捷键来实现此功能是非常简单的: 按 Esc 切换到正常模式; 把光标移到你需要复制的代码行首; 按 V 选择整行,可移动光标选择多行...在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线/,之后跟上要搜索的词,回车即可。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...vim中以16进制查看文件 正常模式下,输入:%!xxd会把当前文本转换成16进制vim rumenz.txt 123 :%!xxd 恢复到正常模式 > vim rumenz.txt 123 :%!.../rumenz/g 每一行后面追加123 :%s/$/123/ 每一行前面加#,添加注释 :%s/^/#/ 删除每一行开头的#,删除注释 :%s/^#// 原文链接:https://rumenz.com
另外cell还有一个属性coordinate, 像b4这个单元格返回的是坐标B4。 获得最大行和最大列 获取行和列 sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。...sheet.columns类似,不过里面是每个tuple是每一列的单元格。...注意range从1开始的,因为在openpyxl中为了和Excel中的表达方式一致,并不和编程语言的习惯以0表示第一个值。...'Sheet1' # 新建一个工作表,可以指定索引,适当安排其在工作簿中的位置 wb.create_sheet('Data', index=1) # 被安排到第二个工作表,index=0就是第一个位置...# 合并单元格, 往左上角写入数据即可 sheet.merge_cells('B1:G1') # 合并一行中的几个单元格 sheet.merge_cells('A1:C3') # 合并一个矩形区域中的单元格
^[A-Z]..$ 搜索行以A至Z的一个字母开头,然后跟两个任意字母,然后跟一个换行符的行。将找到第5行。...^[A-Za-z]*[^,][A-Za-z]*$ 将查找以0个或多个大写或小写字母开头,不跟逗号,然后跟0个或多个大写或小写字母,然后跟一个换车符。将找到第4和5行。...iput_files可以是多于一个文件的文件列表,awk将按顺序处理列表中的每个文件。 在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。...注: 1.awk 后面接两个单引号并加上大括号 {} 来设定想要对数据进行的处理动作 2.awk工作流程是这样的:先执行BEGING,然后读取文件,读入有\n换行符分割的一条记录,然后将记录按指定的域分隔符划分域...FILENAME awk浏览的文件名 FS 设置输入域分隔符,等价于命令行-F选项 NF 浏览记录的域个数(每一行($0)拥有的字段总数) NR 已读的记录数(awk所处理的是第几行数据
.$ 搜索行以A至Z的一个字母开头,然后跟两个任意字母,然后跟一个换行符的行。将找到第5行。...^[A-Za-z]*[^,][A-Za-z]*$ 将查找以 0 个或多个大写或小写字母开头,不跟逗号,然后跟 0 个或多个大写或小写字母,然后跟一个换 行符。将找到第 5 行。 例2: ?...第一行是sed命令解释行。脚本在这一行查找sed以运行命令,这里定位在/bin。 第二行以/company/开始,这是附加操作起始位置。a\通知sed这是一个附加操作,首先应插入二个新行。...在 awk 中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F 域分隔符的情况下,默认的域分隔符是空格或 tab 键。...注: 1.awk后面接两个单引号并加上大括号 {} 来设定想要对数据进行的处理动作 2.awk工作流程是这样的:先执行BEGING,然后读取文件,读入有\n换行符分割的一条记录,然后将记录按指定的域分隔符划分域
安装完成,如有任何异常,根据提示网络搜索想应的解决方法。 三....为sublime读取解释器返回文本的编码不一样,返回的是“cp936”,用repl解释器交互返回的是utf-8,说明是由于编码不一致导致的,打开之前新建的 python37.sublime-build...举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。...Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。 Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。...举个栗子:在函数较多的页面快速查找某个函数。 Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。 Ctrl+Shift+P 打开命令框。
查找与替换 7.1 查找 /something: 在后面的文本中查找something。 ?something: 在前面的文本中查找something。...vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。 其实vimgrep在读纯文本电子书时特别有用,可以生成导航的目录。...:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。 :%s//xxx/g - 在每一行的行尾插入xxx,表示行尾。 所有替换命令末尾加上c,每个替换都将需要用户确认。...** 鉴于整行删除的高频度,VIM 的设计者决定要简化整行删除,仅需要在同一行上 击打两次 d 就可以删除掉光标所在的整行了。 1. 请将光标移动到本节中下面的短句段落中的第二行。 ...然后紧随一个字符串是则是在当前所编辑的文档中向前查找该字符串。
,所有的记录都可以存放到一个页中,在查找数据的时候可以根据搜索条件的不同分为两种情况: 01 主键为搜索条件 这个查找过程基本很明显,可以直接在页目录中使用二分查找法快速定位到对应的位置,然而再遍历该位置对应分组中的数据便可以快速找到指定的数据...这种情况下只能从最小记录开始依次遍历单链表中的每条记录,然后对比每条记录是不是符合搜索条件。很显然,这种查找的效率是非常低的。...03 哈希索引 hash index 是建立在哈希表的基础上,它只对使用了索引中的每一列的精确查找有用。...对于每一行,存储引擎计算出了被索引的哈希码(Hash Code),它是一个较小的值,并且有可能和其他行的哈希码不同。 它把哈希码保存在索引中,并且保存了一个指向哈希表中的每一行的指针。...以上就是索引相关内容,是我在工作项目中使用总结出来的,基本也能涵盖大多数量级的项目。如果读者有不透彻或想交流的问题,可以进去读者圈提问,感谢看完的朋友们。
为了能快速帮大家提高工作效果,解决工作中的小疑难,今天兰色推送36个excel小技巧,都是工作中最常用到的,希望同学们能喜欢 1、一列数据同时除以10000 复制10000所在单元格,选取数据区域 -...4、显示指定区域所有公式 查找 = 替换为“ =”(空格+=号) ,即可显示工作表中所有公式 5、同时编辑所有工作表 全选工作表,直接编辑,会更新到所有工作表。...14、输入分数 先后输入 0 ,再输入 空格, 再输入分数即可 15、强制换行 在文字后按alt+回车键即可换到下一行 16、删除空行 选取A列 - Ctrl+g打开定位窗口 - 定位条件:空值 - 整行删除...17、隔行插入空行 在数据表旁拖动复制1~N,然后再复制序号到下面,然后按序号列排序即可。 ? 18、快速查找工作表 在进度条右键菜单中选取要找的工作表即可。 ?...23、复制时保护行高列宽不变 整行选取复制,粘贴后选取“保持列宽。 ? 24、输入以0开始的数字或超过15位的长数字 先输入单引号,然后再输入数字。或先设置格式为文本再输入。 ?
领取专属 10元无门槛券
手把手带您无忧上云