【shell】shell之cut用法|剪切列或域|提取列或域

目录

即可即用

命令详细说明


​​​​​​​

即可即用

提取列的用awk命令更好用

示例1:截取pers文件内冒号分隔的字符串的第3列 

 命令:


命令说明:

- d:使用冒号”:“作为域分隔符

-f 3:取分隔后的第3列,
 

示例2:取括号内的数值 ”you age is (19)year"

echo "you age is (19)year"|cut -d '('  -f 2 |cut -d ')'  -f 1

cut -d '('  -f 2  :"you age is (19)year"以 '(' 作为分隔符,取第二列。既:“19)year”

cut -d ')'  -f 1:“19)year”以 ')' 作为分隔符,取第1列。既:“19”

命令详细说明

提取域的可以参考cut:

shell之cut用法_咬手指的apple-CSDN博客

cut用来从标准输入或文本文件中剪切列或域。

cut一般格式为:
cut [options] file1 file2

下面介绍其可用选项:
-c list  指定剪切字符数。
-f field  指定剪切域数。
-d  指定与空格和t a b键不同的域分隔符。

- c用来指定剪切范围,如下所示:
- c 1,5-7  剪切第1个字符,然后是第 5到第7个字符。
-c1-50  剪切前5 0个字符。
-f  格式与- c相同。
-f 1 ,5  剪切 第1域,第5域。
- f 1,10-12  剪切第1域,第1 0域到第1 2域。
参照上一节中的文件‘ p e r s’ ,现在从' p e r s '文件中剪切文本。使用冒号做其域分隔符。

使用域分隔符
文件中使用冒号“: ”为域分隔符,故可用 - d选项指定冒号,如 - d: 。如果有意观察第 3域,
可以使用- f 3 。要抽取I D域。可使用命令如下:


剪切指定域

cut命令中剪切多个域需用逗号分隔,如剪切域 1和3,即名字和 I D 号,可以使用:

要从文件/ e t c / p a s s w d中剪切注册名及缺省根目录,需抽取域 1和域6:

使用- c选项指定精确剪切数目。这种方法需确切知道开始及结束字符。通常我不用这种方
法,除非在固定长度的域或文件名上。
当信息文件传送到本机时,查看部分文件名就可以识别文件来源。要得到这条信息需抽
取文件名后三个字符。然后才决定将之存在哪个目录下。下面的例子显示文件名列表及相应
c u t命令:

如果使用ls -l 命令作部分输出,情况将不同。需使用 - c选项。
要剪切字符,须计算 ls -l 列表中的字符数。如显示权限用 cut -c1-10 。然而这种方法可能
相当慢,因此需要使用其他工具将相应信息抽取出来。要剪切谁正在使用系统的用户信息,
方法如下:

posted on 2022-10-04 01:23  bdy  阅读(45)  评论(0编辑  收藏  举报

导航