前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文本操作系列命令

文本操作系列命令

原创
作者头像
用户8539083
修改2024-07-15 17:32:56
840
修改2024-07-15 17:32:56
举报
文章被收录于专栏:linux 学习

看文件

cat 一般适用于小文件或者后接管道符|

cat -A 显示不可见字符 后续常接tr进行字符转换

head -5 查看文件的前5行

tail -5 查看文件的末位5行

tail -f 断续查看命令的执行情况

less -SN 查看文件并单行显示,添加行号,q键退出查看

zcat less 不解压的情况下,查看压缩文件的内容

文本统计 wc

wc 参数 文件名1 文件名2 文件名3 可统计多个文件

代码语言:linux
复制
 -l   统计行号
代码语言:linux
复制
 -w 统计字符串数
代码语言:linux
复制
 -c  统计总字节数

文本切割 cut

按指定分隔符提取

cut 参数 文件

-f 3 取出第3列

-d '\t' 指定分隔符 默认制表符\t cat -A 显示为^I 正常显示的形式类似空格

cut能做的事情,awk都能做;awk能做的事情,cut不一定能做

文本排序 sort

sort

-k 选定某一列进行排序

-n 按数值大小进行排序,默认从小到大

-r 倒序排列

-V 字符串中含有数值时,按数值排序

-t 指定分隔符,默认是‘\t’

去除重复行 uniq

uniq只能去除相邻的行,因此常和sort连用。-c 参数可以统计重复行的数量

文本合并 paste

paste - - - - 表示按指定的分隔符,将输入内容分成4列。默认分隔符为'\t'

指定分隔符的参数为 -d '\n' 回车键/换行 cat -A显示为$

-s 参数可以将列变行

字符串替换 tr '旧字符串' '新字符串'

tr '\t' '\n' tr替换不可见字符

tr 'a' 'A' tr替换普通字符

tr -d 'a' tr删除指定字符

tr -s 'a' tr缩减掉连续重复的字符

文件传输结果判断

每个文件都有对应的md5值: md5sum 文件名

拿到传输文件后进行检测: md5sum -c 文件名 返回OK即为完整传输

文本搜索工具 -- grep

用于搜索具体的内容,并把匹配的行打印出来 (如果想显示行号,-n )。 并非搜索文件(find命令)

grep 参数 pattern file 其中file可以通过管道符由上一个命令传入

-w 精确查找 bug: 如果碰见赋值符号=,也会被查到

-e 指定多个匹配 grep -e CDS -e gene -e UTR

-f 从指定文件中读取要匹配的pattern 当-e需要匹配的内容过多时,可用

-n 显示匹配成功的行的行号

-c 统计pattern所在行的数量

-v 输出没有匹配上的行 可用于过滤不需要的行

-r 从目录中 查找pattern 当不知道pattern所在的具体文件时,可直接从目录中查找,输出结果中会显示匹配到的具体文件

联合正则表达式进行文本搜索

grep ^gene 以gene开头的行

grep gene$ 以gene结尾的行

grep -E gene|CDS 等同于 grep -e gene -e CDS

grep ATAT..C . 代表换行符以外的任意单一字符

grep -E ATAT?C ? 匹配前一个字符0次或1次 -E 打开扩展正则

grep -E ATAT+C + 匹配前一个字符1次或多次

grep -E ATAT*C * 匹配前一个字符0次或多次

grep ATAT[AG]C [] 匹配其中任何一个

grep ATAT[^AG]C ^ 排除A和G !AG一个意思

文本的增删改查 -- sed

sed -options 'script' file(s)

此命令分三步书写

  1. 需不需要加参数
  2. 指定位置
  3. 指定动作

参数

-e 后接多个命令,类似于grep -e 参数

-f 后接含有sed动作的文件,即将‘script’写进文件中

-r 开启扩展正则,类似于grep -E

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

-n 不显示输入内容,只显示经过sed处理过的行

script address command

address

2 第2行

2,4 第2,3,4行

2,+4 第2,3, 4,5,6行

2,$ 第2行到末尾

2~4 第2,6,10行

/pattern/ 匹配上pattern的行

2! 除了第2行

命令

a 在指定行之后增加一行内容

i 在指定行之前增加一行内容

d 删除指定行

c 改变指定行的内容

s///flag 更改或替换指定行中匹配的字符

s///g 全部替换

s///1 替换出现的第一次

y/abc/ABC 字符一对一进行转换

p 将匹配或修改的行打印出来。常和-n联用

awk 对文本或者数据进行操作

awk '{script}' 基础形式

awk'/pattern/{script}' 匹配pattern形式

awk 'BEGIN{script} {script} END{script}' 扩展格式

awk在读取文本时,会按默认分隔符(空格或制表符)将文本分割成不同的字段,并分配给一个变量$1,$2,$3.... -F参数可以自定义分隔符

awk '{print $0}' $0代表文本行本身

awk '{print $1}' $1代表文本行的第一列

awk '{print $NF}' $NF代表文本行的最后一列

if条件语句+awk

awk '{if($3=="gene") print $0}'

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 看文件
  • 文本统计 wc
  • 文本切割 cut
  • 文本排序 sort
  • 去除重复行 uniq
  • 文本合并 paste
  • 字符串替换 tr '旧字符串' '新字符串'
  • 文件传输结果判断
  • 文本搜索工具 -- grep
    • 联合正则表达式进行文本搜索
    • 文本的增删改查 -- sed
      • 参数
        • script address command
          • address
          • 命令
      • awk 对文本或者数据进行操作
        • if条件语句+awk
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档