当前位置:首页 > 行业动态 > 正文

cutlinux指令

cut 命令用于从文本中提取子字符串,常用于处理文件内容。基本语法为 cut 选项 文件,常用选项有 -d 指定分隔符、 -f 指定字段等。

1、基本概念

cut命令是Linux系统中一个非常实用的文本处理工具,它主要用于从文件中提取特定的部分内容并输出到标准输出,该命令通过指定的选项来切割文本,可以按照字节、字符或字段等方式进行切割。

2、常用选项及参数

-b:以字节为单位进行分割。cut -b 5 filename表示从文件的每一行中提取第5个字节的内容。

-c:以字符为单位进行分割。cut -c 1-3 filename表示从文件的每一行中提取前3个字符的内容。

-d:自定义分隔符,默认为制表符。cut -d',' -f2 filename表示使用逗号作为分隔符,并提取每行的第二个字段。

-f:与-d一起使用,指定显示哪个区域。cut -d' ' -f1,3 filename表示使用空格作为分隔符,并提取每行的第1个和第3个字段。

–complement:当指定时,此选项指示cut显示所有字节、字符或字段,除了所选的。

cutlinux指令

-s:默认设置是打印不包含分隔符字符的行,指定-s选项指示cut不打印不包含分隔符的行。

–output-delimiter:默认情况下,cut使用输入分隔符作为输出分隔符,指定–output-delimiter选项允许你指定不同的输出分隔符。

3、使用示例

按字节剪切echo 'how-to geek' | cut -b 5会输出字符串"how-to geek"的第5个字节,也就是"t"。

按范围剪切echo 'how-to geek' | cut -b 5-11会输出字符串"how-to geek"的第5个到第11个字节,也就是"to geek"。

cutlinux指令

按字段剪切echo 'how-to geek' | cut -d' ' -f2会输出字符串"how-to geek"的第2个字段(以空格为分隔符),也就是"geek"。

按字段剪切,使用自定义分隔符echo 'how-to-geek' | cut -d'-' -f2会输出字符串"how-to-geek"的第2个字段(以"-“为分隔符),也就是"to"。

按字段剪切,使用自定义分隔符,并且只显示包含分隔符的行:`echo -e ‘how-to-geek

howtogeek’ | cut -d’-‘ -f2 -s`会输出字符串"how-to-geek

howtogeek"的第2个字段(以"-“为分隔符),并且只显示包含”-“的行,也就是"to"。

cutlinux指令

按字节剪切,使用补集选项echo 'how-to geek' | cut -b 1-3 --complement会输出字符串"how-to geek"的除了第1个到第3个字节以外的所有字节,也就是"-to geek"。

4、注意事项

在处理非英文的文件或命令输出时,注意文件或命令输出的区域设置,在非英文语言中,剪切字符或字节可能会产生错误的输出,如果该字符的长度超过一个字节。

如果在使用cut命令时遇到了"bash: cut: command not found"的错误,那么可能需要安装coreutils包来获取cut命令,在基于Debian的系统中,可以使用sudo apt-get install coreutils来安装;在CentOS 7中,可以使用sudo yum install coreutils来安装;在CentOS 8中,可以使用sudo dnf install coreutils来安装。

Linux中的cut指令是一个强大的文本处理工具,它提供了多种选项和参数来满足用户的不同需求,无论是按字节、字符还是字段进行剪切,都能轻松应对,也需要注意一些使用上的事项,以确保正确使用该指令。