选取字符命令cut

简介:

cut选取命令,选取命令的作用的是将一段数据进行分析后取出想要的部分,选取新通常的针对行来分析的,并不是针对整篇信息分析的。

cut的处理单位是行,即从一行数据中取出想要的部分。

cut -d ‘分隔符’ -f  字符位置(以分隔符分割的第几段字符内容)

cut -c   字符范围

 

取出PATH中以:符号为分隔符的第5段字符:

1
2
3
4
[root@localhost ~] # echo $PATH
/usr/lib64/qt-3 .3 /bin : /usr/local/bin : /bin : /usr/bin : /usr/local/sbin : /usr/sbin : /sbin : /home/whx/trafodion-build-tools/apache-maven-3 .3.3 /bin : /home/whx/bin
[root@localhost ~] # echo $PATH | cut -d ':'-f 5
/usr/local/sbin

 

取出PATH中以:符号为分隔符号的第3段和第5段字符:

1
2
[root@localhost ~] # echo $PATH | cut -d ':'-f 3,5
/bin : /usr/local/sbin

 

取出export中每行数据的第12个字符之后的内容:

1
2
3
4
5
6
[root@localhost ~] # export | cut -c 12-
CVS_RSH= "ssh"
G_BROKEN_FILENAMES= "1"
HISTCONTROL= "ignoredups"
HISTSIZE= "1000"

取出export中每行数据的第12到20个字符:

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~] # export | cut -c 12-20
CVS_RSH="
G_BROKEN_
HISTCONTR
HISTSIZE=
HOME=" /ro
HOSTNAME=
JAVA_HOME
LANG="en_
LESSOPEN=
LOGNAME="

当存在多个空格时,以空格为分隔符来选取字符就要特别注意:

例子:

1
2
3
4
5
[root@localhost ~] # last
whx     pts /0         192.168.21.1     Wed Aug 23 01:18   still logged  in  
whx     tty1         :0               Wed Aug 23 01:18   still logged  in  
reboot  system boot  2.6.32-696.el6.x WedAug 23 01:17 - 03:03  (01:45)   
whx     pts /0         192.168.21.1     Mon Aug 21 19:43 - 00:37  (04:54)


使用cut从last中取出登陆的用户名:

1
2
3
4
[root@localhost ~] # last |cut -d ' ' -f 1
whx
whx
reboot

但是如果想利用last | cut -d ‘ ‘ -f 1,3,4,5,6,7来取出用户名,ip 和时间是取不到想要的结果的(因为last中每组信息之间可能存在多个空格):

1
2
3
4
[root@localhost ~] # last | cut -d ' '  -f 1,3,4,5,6,7
whx    pts /0
whx    tty1
reboot system boot  2.6.32-696.el6.x



本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1958753,如需转载请自行联系原作者
相关文章
|
1月前
|
弹性计算 运维 Shell
使用cut提取子串
【4月更文挑战第29天】
23 2
|
1月前
|
Unix Perl
`sed`命令替换文本中的单词
`sed`命令替换文本中的单词
55 3
|
10月前
|
Shell
Shell 过滤数据(cut 截取过滤列)
Shell 过滤数据(cut 截取过滤列)
72 0
|
11月前
|
Shell
用shell打印示例语句中字母数小于6的单词
用shell打印示例语句中字母数小于6的单词
69 0
|
C语言 C++
连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。直到输入结束:(按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF)分别使用C和C++实现。
连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。直到输入结束:(按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF)分别使用C和C++实现。
单词替换,现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。
给定一个字符串 aa,请你按照下面的要求输出字符串 bb。 给定字符串 aa 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 bb 的第一个字符; 给定字符串 aa 的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到 bb 的第二个字符; …
111 0
编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
输入一行字符串将其中的单词替换成另一单词
输入一行字符串将其中的单词替换成另一单词
170 0
|
Perl
Sed 删除包含某些字符串的行
sed -i '/关键字符/d' 文件名
1884 0