前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux进阶-Day3

Linux进阶-Day3

原创
作者头像
用户11008504
发布2024-06-12 21:57:32
910
发布2024-06-12 21:57:32
举报
文章被收录于专栏:生信技能树生信入门马拉松

1. Vim 编辑器

Vim: Linux自带的文本编辑器

Vim 编辑器:三种模式

1.1 命令模式:

• 用vim FILENAME进入之后的默认模式

• 可以“上下左右”移动光标

• 剪切、复制与粘贴:

x:剪切一个字符

10x:连续剪切10个字符(numberx)

dd:剪切所在行

10dd:剪切所在行及向下共10行

yy:复制光标所在行

10yy:复制所在行及下面10行

p或P:在当前行的下面/上面进行粘贴

1.2 编辑模式:

• 输入i后进入编辑模式(左下角有-- INSERT --提示)

• 其实有多种进入的模式(i/a/o/I/A/O),但是记住一种即可

• 按esc键退出该模式

• 在编辑模式下即可正常的编辑、修改文本内容

1.3 末行模式:

• 在命令模式下输入一个:进入这一模式

• 注意需要是英文的冒号,中文的冒号(全角)输入不进来

• 按esc键退出该模式

• 在该模式下可以设置、查询、替换、保存并退出

保存与退出

• :wq 保存并退出

• :q 直接退出

• :q! 不保存修改,强制退出

注意Windows系统文件格式与Linux系统不一样,将Windows的文件上传后需要转换格式,才能使用Linux命令操作

文本处理三架马车-grep sed awk

grep 强大的文本搜索工具,它能使用正则表达式匹配模式搜索文本,并把匹配的行打印出来

格式:grep options pattern file

常见参数:

-w:word 精确查找某个关键词 pattern

-c:统计匹配成功的行的数量

-v:反向选择,即输出没有匹配的行

-n:显示匹配成功的行所在的行号

-r:从目录中查找pattern

-e:指定多个匹配模式

-f:从指定文件中读取要匹配的 pattern

-i:忽略大小写

正则表达式:是对字符串操作的一种逻辑公式 -E 开启正则表达式

就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

^ 行首

$ 行尾

. 换行符之外的任意单个字符

? 匹配之前项0次或者一次 \?

  • 匹配1次或者多次 +
  • 匹配0次或者多次sed:流编辑器,一般用来对文本进行增删改查

常见参数:

-n :禁止显示所有输入内容,只显示经过sed处理的行(常用)

-e :直接在命令模式上进行 sed 的动作编辑,接要执行的一个或

者多个命令

-f :执行含有 sed 动作的文件

-r :sed 的动作支持的扩展正则(默认基础正则)

-i :直接修改读取的文件内容,不输出。

用法:sed -options 'script' file(s)

常见 'script' command :增删改查

a∶append,在指定行的后增加一行,内容为 a 的后面接的字串

i∶insert,在指定行的前增加一行,内容为 i 的后面接的字串

d∶delete,删除某一行或者某几行,也可以指定删除匹配上的行

c∶change,改变指定行的内容

s∶更改或替换字符串,使用格式为 's/pattern/new/flags',

把pattern替换成new,默认只替换一个,可以指定flags

y∶转换,实现字符一对一转换,格式 ‘y/abc/ABC/'

p∶print,把匹配或修改过的行打印出来,通常与–n参数合用

awk:也称 gawk,编程语言,可对文本和数据进行处理

常见参数:-F,fields,设置字段分隔符;

用法:awk options '{script}' file

基础结构: ' {script} '

匹配结构: ' /pattern/{script} '

扩展结构: 'BEGIN{script} {script} END{script}'

awk 在读取一行文本时,会用预定义的字段分隔符划分每个

数据字段,并分配给一个变量。

$0 代表整个文本行;

$1 代表文本行中的第1个数据字段;

$NF 代表文本行中的最后一个数据字段

awk 默认的字段分隔符是任意空白字符(如:空格 or 制表

符),也可以用 -F 参数自定义分隔符

awk 内置变量:

FS :定义输入字段分隔符,Field Separator,同 –F

RS :定义输入记录分隔符,Record Separator

OFS :定义输出字段分隔符,Out Field Separator

ORS :定义输出记录分隔符,Out Record Separator

NF :数据文件中的字段总数,可以简单理解为列数

NR :已处理的输入记录数,可以简单理解为行数

awk 条件和循环语句:

if:条件判断

awk ' { if (判断条件) {yes} else {no} } '

for:循环语句

awk ' { for (循环条件) {循环语句} } '

awk 数学运算:

+(加),- (减), * (乘),^ (幂)

/ (除),** (平方), % (取余)

int(x) x的整数部分,取靠近零一侧的值

log(x) x的自然对数

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Vim 编辑器
    • 1.1 命令模式:
      • 1.2 编辑模式:
        • 1.3 末行模式:
        • 文本处理三架马车-grep sed awk
          • grep 强大的文本搜索工具,它能使用正则表达式匹配模式搜索文本,并把匹配的行打印出来
            • 正则表达式:是对字符串操作的一种逻辑公式 -E 开启正则表达式
              • awk:也称 gawk,编程语言,可对文本和数据进行处理
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档