Linux cut 提取文本列&&wc 统计命令


cut命令

  • cut命令可以从一个文本文件或者文本流中提取文本列。

cut语法

  • cut -d'分隔字符' -f fields <==用于有特定分隔字符
  • cut -c 字符区间 <==用于排列整齐的信息
  • 选项与参数:
    • -d :后面接分隔字符。与 -f 一起使用;
    • -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
    • -c :以字符 (characters) 的单位取出固定字符区间;

举个栗子

  • PATH 变量如下
echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
 1 | 2       | 3   | 4       | 5            | 6            | 7
  • 语句:echo $PATH | cut -d ':' -f 5
  • 结果:将 PATH 变量取出,找出第五个路径。

/usr/local/bin

  • 语句:echo $PATH | cut -d ':' -f 3,5
  • 结果:将 PATH 变量取出,我要找出第三和第五个路径。

/sbin:/usr/local/bin

  • 语句:echo $PATH | cut -d ':' -f 3-
  • 结果:将 PATH 变量取出,我要找出第三到最后一个路径。

/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games

  • 语句:echo $PATH | cut -d ':' -f 1-3
  • 结果:将 PATH 变量取出,我要找出第一到第三个路径。

/bin:/usr/bin:/sbin:

  • 语句:echo $PATH | cut -d ':' -f 1-3,5
  • 结果:将 PATH 变量取出,我要找出第一到第三,还有第五个路径。

/bin:/usr/bin:/sbin:/usr/local/bin

实用例子

  • 语句:cat /etc/passwd | cut -d ':' -f 1,7
  • 结果:只显示/etc/passwd的用户和shell

root:/bin/bash
daemon:/bin/sh
bin:/bin/sh

wc命令

  • 统计文件里面有多少单词,多少行,多少字符。

wc语法

  • wc [-lwm]
  • 选项与参数:
    • -l :仅列出行;
    • -w :仅列出多少字(英文单字);
    • -m :多少字符;

举个栗子

  • 使用wc统计/etc/passwd

  • 语句:wc /etc/passwd

  • 结果:40是行数,45是单词数,1719是字节数

40 45 1719 /etc/passwd

  • 语句:wc -l /etc/passwd
  • 结果:统计行数,表示系统有40个账户

40 /etc/passwd

  • 语句:wc -w /etc/passwd
  • 结果:统计单词出现次数

45 /etc/passwd

  • 语句:wc -m /etc/passwd
  • 结果:统计文件的字符数

1719

你可能感兴趣的:(Linux cut 提取文本列&&wc 统计命令)