shell字符串截取

cut 命令

grep 在文件中提取行,cut awk sed 提取列

  • cut [选项] 文件名
  • -f 提取第几列
  • -d 分隔符 默认分隔符为制表符,当列间隔为空格间隔,应使用awk

printf 命令

  • printf '输出类型输出格式' 输出内容
    输出类型
  • %ns 输出字符串,n是数字代表输出几个字符
  • %ni 输出整数,n是代表输出几个数字
  • %m,nf 输出浮点数,m和n是数字,m代表几个数字,n代表几个小树,如%8,2f,表示600000.00数字

输出格式

  • \a 输出警告声音
  • \b 输出退格键
  • \f 清楚屏幕
  • \n 换行
  • \r 回车
  • \t 水平制表符
  • \v 垂直制表符

awk 命令

awk '条件一{动作一} 条件2{动作二} ...' 文件名
条件 一般使用关系表达式作为条件 x>10
动作 格式化输出,流程控制语句

print 不需要加换行符



df -h 查看系统容量使用情况
grep 截取行
awk 提取
cut 截取

加入begin 开始之前处理

手动指定分隔符,要加入begin



END 在所有数据处理之后,在处理END

FS=":" 用来指定分隔符

条件判断

sed 命令

sed 是一种几乎包括在所有unix平台的轻量流编辑器。sed主要是用来将数据进行选取,替换,删除和新增的命令。

  • sed [选项] '[动作]' 文件名
  • -n一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则会把sed命令处理的行输出到屏幕
  • -e 允许对输入的数据应用多条sed命令编辑
  • -i 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

动作

  • a\ : 追加,在当前行后添加一行或者多行,添加多行,除最后一行,每行末尾都需要用\来完结
  • c: 行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾都要用\代表数据未完结
  • i: 插入,在当前行插入一行或者多行,插入多行,除最后一行外,每行都需要用\ 表示数据未完结
  • d:删除,删除指定行
  • p: 打印,输出指定的行
  • s: 字符串替换,用一个字符替换另一个字符
    输出指定的行


删除2,3行


接收管道符


字符处理命令

sort [选项] 文件名

  • -f 忽略大小写
  • -n 以数值型进行排列,默认使用字符串排序
  • -r 反向排序
  • -t 指定分隔符,默认分隔符是制表符
  • -kn[,m] 按照指定的字段范围排序,从n开始m结束,默认到行尾

sort /etc/passwd
sort -r /etc/passwd

按数值排序


统计命令 wc

wc [选项] 文件名

  • -l 只统计行数
  • -w 只统计单词
  • -m 只统计字符数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,219评论 2 33
  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 5,913评论 0 21
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 4,790评论 0 0
  • 知识点 sort uniq cut wc sed命令 awk命令 crontab定时器 sort sort 命令对...
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 9,854评论 3 74