📌  相关文章
📜  在 Linux 中从字符串中删除最后一个字符

📅  最后修改于: 2022-05-13 01:57:32.621000             🧑  作者: Mango

在 Linux 中从字符串中删除最后一个字符

在本文中,我们将讨论如何在 Linux 中删除字符串中的最后一个字符。

在 Linux 中,如果您对 Linux 中的命令有一些基本的了解,则可以使用各种命令和技术以更简单的方式完成此任务。在这里,您将看到不同的命令,您可以通过这些命令在 Linux 中删除字符串的最后一个字符。

方法一:使用cut命令

cut 命令用于从字符串或文件中提取某些特定部分,并将结果打印到标准输出。您还可以使用此命令从字符串删除字符。有两种方法可以使用 cut 命令从字符串删除最后一个字符。这些如下:

  • 当你知道字符串的长度时

句法:



cut   

例子:

$ echo "linux" | cut -c 1-4

当您知道给定字符串的长度时,此方法有效。它首先获取字符串并使用 cut 命令对其进行管道传输。你必须从字符串到字符串的第二个最后一个字符开始提供范围。它从该范围中提取字符,留下最后一个字符,并将结果打印到标准输出。

输出:

另一种方法是使用 cut 命令的补全选项。

句法:

cut --complement 

例子:

$ echo "linux" | cut --complement -c 5

在这种方法中,您必须使用 cut 命令中的补全选项。补码命令可以处理字节、字符和字段。这里我们使用字符-c 。所以这里我们在 -c 命令之后提供了(length of 字符串)-1 ,它将剪切最后一个字符并打印结果,留下字符串的最后一个字符。



输出:

  • 当你不知道字符串的长度时

句法:

$ echo "linux" | rev | cut -c2- | rev

在这种方法中,您必须使用rev命令。 rev命令用于按字符反转字符串的行。在这里,rev 命令将反转字符串,然后 -c 选项将删除第一个字符。在此之后, rev 命令将再次反转字符串,您将获得输出。

输出:

方法二:使用sed命令

sed 命令代表流编辑器。它是一个强大的工具,用于操作和编辑文本流。它还支持可用于模式匹配的正则表达式。您还可以使用 sed 命令从字符串删除字符。

$ echo "linux" | sed 's/.$//'

在此方法中,字符串使用 sed 命令进行管道传输,正则表达式用于删除最后一个字符,其中(.)将匹配单个字符,而$匹配字符串末尾的任何字符。

输出:

方法三:使用awk

awk 是一种脚本语言,用于模式匹配和文本处理。它主要用作报告和分析工具。所以现在您将看到我们如何使用 awk 从给定的字符串删除最后一个字符。

$ echo "linux" | awk '{ print substr( $0, 1, length($0)-1 ) }'

这个方法作为我们给定的字符串管道与 awk 一起工作,然后在 awk 中处理字符串。这里的length($0)-1表示通过从字符串的总长度中减去 '1' 来删除最后一个字符。在这个过程中,该命令将打印从第1个字符到第2个字符的字符串。

输出: