linux day05笔记 —(linux指令整理)

1.cut

根据条件 从命令结果中提取对应内容

  • 截取出1.txt文件中前两行的第五个字符

    head -2 1.txt | cut -c 5
    

    -c : 按字符选取内容

  • 截取出1.txt文件中前2行以”:”进行分割的第1,2段内容

    head -2 1.txt | cut -d ':' -f 1,2
    

    -d : 指定分割符
    -f : 分割以后显示第几行内容

2.sort

针对文本文件的内容 ,以行为单位来排序

  • 对字符串排序
  • 去重排序
    -u : 去掉重复的
  • 对数值排序
    (默认为字典序列)
    -n : 按照数值大小排序
    -r :使次序颠倒
  • 对成绩排序
    -t : 指定字段分隔符
    -k : 根据哪一列排序

3.wc

wc 文件名 : 显示指定文件的字节数 单词数 行数 等信息

参数:
-c : 字节数
-w : 单词数
-l : 行数

4.uniq

uniq [参数] 文件名

用于检查及删除文本文件中重复出现的行,一般与sort命令结合使用
参数 :
-c :统计每行内容出现的次数

5.tee

通过 tee 可以将命令结果通过 管道 输出到多个文件中

用法:命令结果 | tee 文件1 文件2 文件3

将去重统计的结果放到a.txt b.txt c.txt 中

cat 5.txt | sort | uniq -c | tee a.txt b.txt c.txt

6.tr

用于 替换 或 删除文件中的字符
用法1 :命令结果 | tr 被替换的字符 新字符
用法2 :命令结果 | tr -d 被删除的字符
用法3 :单词计数

# 统计每个单词出现的次数
[root@hadoop01 export]# cat words.txt | tr ',' '\n' | sort | uniq -c
      1 flume
      2 hadoop
      2 hello
      1 hive
      1 jerry
      1 kitty
      1 sqoop
      1 tom
      2 world

7.split

通过 split 将 大文件 切分成 若干小文件

  • 字节切分
    split -b 10k 文件名 (将大文件切分成10KB的若干个小文件)
  • 行数切分
    split -l 10 文件名 (将大文件切分成10行的若干个小文件)

8.awk

通过awk实现 模糊查询 ,按需提取字段,还可以进行判断和简单的运算等.

  • 模糊查询

    awk '/zhangsan | lisi/' 1.txt
    
  • 指定分隔符,根据下标显示内容

    awk -F ',' '{print $1,$2,$3}' 1.txt	
    

    -F ’ , ’ :使用指定字符分割
    $ + 数字 :获取第几段内容
    $0 :获取当前行内容
    NF :表示当前行共有多少个字段
    $NF :表示最后一个字段
    $(NF-1) :代表倒数第二个字段
    NR :代表处理的是第几行

  • 指定输出字段的分隔符

    awk -F ' ' '{OFS="==="}{print $1,$2,$3}' 1.txt
    

    OFS=“字符” 向外输出时的段分割字符串

  • 调用awk提供的函数

    awk -F ' ' '{print toupper($2)}' 1.txt
    

    函数名:
    toupper() 字符转成大写
    tolower() 字符转成小写
    length() 返回字符长度

  • 通过if语句判断

    ## score.txt如果及格,就显示 $1, $4
    awk -F ',' '{if($4>60) print $1, $4 }' 
    ## 显示姓名, $4, 是否及格
    awk -F ',' '{if($4>60) print $1, $4, "及格"; else print $1, $4, "不及格"}' score.txt
    
  • 段内容求和

    awk -F ',' 'BEGIN{}{total=total+$4}END{print total, NR, (total/NR)}' score.txt
    

    awk ‘BEGIN{执行前语句}{处理每一行时要执行的语句}END{处理完所有的行后要执行的语句}’ 文件名

9.sed

通过 sed 可以实现过滤 和 替换 的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值