linux cut命令


下面介绍一些常用的管道命令。

提取命令: cut, grep

回到顶部
提取命令就是将一段数据经过分析后,取出我们想要的数据信息。大部分提取命令都是以行为单位进程信息提取。
cut就是切的意思,cut命令以行为单位将一行信息中的某一段切取出来。 cut常用命令格式如下所示:
[peter@study ~]$ cut -d'分隔字符' -f fields      #用于有特定分隔字符
[peter@study ~]$ cut -c 字符区间                 #用于排列整齐的信息
选项与参数:
-d :后面接分隔字符。与-f一起使用;
-f :依据-d的分隔字符将一段信息分区成为数段,用-f取出第几段的意思;
-c :以字符(characters)的单位取出固定字符区间;
找出PATH环境变量中的第五个路径:
[peter@study ~]$ echo ${PATH}
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[peter@study ~]$ echo ${PATH} | cut -d ':' -f 5
/sbin
上面就是将echo ${PATH}输出内容以:号分割,取出第五段内容。 如果想要列出第3与第5呢:
[peter@study ~]$ echo ${PATH} | cut -d ':' -f 3,5
/usr/sbin:/sbin
将export输出的信息,取得第12字符以后的所有字符串:
[peter@study ~]$ export
declare -x CINNAMON_SLOWDOWN_FACTOR="0.0001"
declare -x CINNAMON_SOFTWARE_RENDERING="1"
declare -x CINNAMON_VERSION="4.0.10"
declare -x COLORTERM="truecolor"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DEFAULTS_PATH="/usr/share/gconf/cinnamon.default.path"
declare -x DESKTOP_SESSION="cinnamon"
...省略...
可以看到上面的的每一行最前面都是declare -x,可以不需要declare -x:
[peter@study ~]$ export | cut -c 12-
CINNAMON_SLOWDOWN_FACTOR="0.0001"
CINNAMON_SOFTWARE_RENDERING="1"
CINNAMON_VERSION="4.0.10"
COLORTERM="truecolor"
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
DEFAULTS_PATH="/usr/share/gconf/cinnamon.default.path"
DESKTOP_SESSION="cinnamon"
...省略...
用 -c 可以处理比较具有格式的输出数据!
可以指定某个范围的值,例如第 12-20 的字符,就是 cut -c 12-20 等等!
用last命令列出登录用户信息,仅查看用户名:
[peter@study ~]$ last
root pts/1 192.168.201.101 Sat Feb 7 12:35   still logged in
root pts/1 192.168.201.101 Fri Feb 6 12:13 - 18:46 (06:33)
root pts/1 192.168.201.254 Thu Feb 5 22:37 - 23:53 (01:16)
last命令输出账号/终端机/来源/日期时间的登录数据。
[peter@study ~]$ last | cut -d ' ' -f 1
由输出的结果我们可以发现第一个空白分隔的字段代表账号,所以使用如上命令。 但是因为root pts/1之间有好几个空格,所以,如果要找出pts/1其实不能以 cut -d ' ' -f 1,2。
cut主要的用途在于将同一行里面的数据,以某些字符作为分隔符进行分解切割,以取得我们所需要的数 据。最常使用在分析一些数据或文字数据的时候!尤其是在分析log文件的时候! 不过,cut在处理多空格相连的数据时,可能会比较吃力一点,所以某些时刻可能会使用awk来取代!

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读