如何在linux上使用rev命令

Linux的rev命令反转文本字符串。这个命令既可以对提供的文本进行操作,也可以对文件进行操作,而且看似简单。但与许多命令行实用程序一样,当您将其与其他命令结合使用时,它的真正威力就变得显而易见了。...

Linux的rev命令反转文本字符串。这个命令既可以对提供的文本进行操作,也可以对文件进行操作,而且看似简单。但与许多命令行实用程序一样,当您将其与其他命令结合使用时,它的真正威力就变得显而易见了。

rev命令是那些简单的Linux实用程序之一,乍一看,似乎有些奇怪。它只执行一个函数:反转字符串。除了能够打印快速帮助页(-h)并显示其版本号(-V),它不接受任何命令行选项。

所以,rev反转字符串,就这样?没有变化或选择?嗯,是的,不是的。是的,它没有排列,但不,这还不算全部。本教程将向您展示如何将其组合起来进行强大的操作。

当您在更复杂的命令序列中使用rev作为构建块时,它真正开始显示出它的价值。rev是一组作为促进者的命令(比如tac和yes)之一。当您看到它们如何更有效地使用其他命令时,更容易理解它们的有用性。

使用rev命令

在没有其他参数的命令行上使用,rev接受任何键入的输入,反转它,然后在终端窗口中打印它。它一直这样做,直到您按Ctrl+C退出。

rev

如何在linux上使用rev命令

如果您键入一些文本并按Enter键,它会使rev反向打印字符串,当然,除非您为其提供回文。

如何在linux上使用rev命令

将文本传递给rev

可以使用echo将文本通过管道传输到rev。

echo one two three | rev

如何在linux上使用rev命令

您还可以使用rev逐行反转整个文本文件的内容。在本例中,我们有一个包含文件名列表的文件。文件名为“文件列表.txt.”

rev filelist.txt

如何在linux上使用rev命令

每行从文件中读取,反转,然后打印到终端窗口。

将rev与其他命令结合使用

下面是一个使用两次调用rev的输入管道的示例。

此命令从文本字符串中去掉最后一个字符。这可能有助于删除标点符号。我们需要使用剪切命令来剥离角色。

echo 'Remove punctuation.' | rev | cut -c 2- | rev

如何在linux上使用rev命令

我们把它分解一下。

  • echo将字符串发送到rev的第一个调用中。
  • rev反转绳子并将其**切口。
  • c(characters)选项告诉cut从字符串返回一个字符序列。
  • 2选项告诉cut返回从字符2到行尾的字符范围。如果提供第二个数字,例如2-5,则范围为2到5个字符。没有第二个数字意味着“直到字符串的结尾”
  • 反转的字符串减去它的第一个字符后被传递给rev,rev将反转字符串,这样它就回到原来的顺序。

因为我们删掉了反转字符串的第一个字符,所以我们删掉了原始字符串的最后一个字符。是的,您可以用sed或awk来实现这一点,但这是一种更简单的语法。

分隔最后一个单词

我们可以使用类似的技巧来返回行的最后一个单词。

该命令与上一个命令类似:再次使用rev两次。不同之处在于剪切命令用于选择部分文本的方式。

echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

如何在linux上使用rev命令

以下是命令分解:

  • echo将字符串发送到rev的第一个调用中。
  • rev反转绳子并将其**切口。
  • -d“”(分隔符)选项告诉cut返回由空格分隔的字符序列。
  • f1选项告诉cut返回不包含分隔符的字符串的第一部分。也就是说,句子的第一部分到第一个空格。
  • 反转后的第一个单词被传递给rev,rev反转字符串,因此它返回到原来的顺序。

因为我们提取了反向字符串的第一个单词,所以我们删掉了原始字符串的最后一个单词。这句话的最后一个字是“word”,它是为我们打印出来的。

从文件中修剪内容

假设我们有一个包含文件名列表的文件,文件名用引号括起来。我们要删除文件名中的引号。

让我们看一下文件:

less filelist.txt

如何在linux上使用rev命令

文件的内容以较少的时间显示给我们。

如何在linux上使用rev命令

我们可以用下面的命令删除每行两端的标点符号。此命令同时使用rev和cut两次。

rev filelist.txt | cut -c 2- | rev | cut -c 2-

如何在linux上使用rev命令

为我们列出的文件名没有引号。

如何在linux上使用rev命令

命令如下所示:

  • rev反转文件中的行,并将它们导入到cut中。
  • c(characters)选项告诉cut从每行返回一个字符序列。
  • 2选项告诉cut返回从字符2到每行末尾的字符范围。
  • 反转的字符串减去它们的第一个字符,被传递给rev。
  • rev反转字符串,使它们回到原来的顺序。它们被第二次用管道输送到切口。
  • c(characters)选项告诉cut从每个字符串返回一个字符序列。
  • 2选项告诉cut返回从字符2到每行末尾的字符范围。这个“跳过”前导引号,即每行一个字符。

很多管道

下面的命令返回当前目录中每个文件扩展名的排序列表。它使用五个不同的Linux命令。

ls | rev | cut -d'.' -f1 | rev | sort | uniq

如何在linux上使用rev命令

过程很简单:

  • ls列出当前目录中的文件。这些被输送到rev。
  • rev反转文件名并将它们导入cut。
  • cut将每个文件名的第一部分返回到一个分隔符。-d“.”告诉cut使用句点“.”作为分隔符。第一个句点之前的反向文件名部分是文件扩展名。这些被输送到rev。
  • rev将文件扩展名反转为其原始顺序。它们被输送到不同的地方。
  • sort对文件扩展名进行排序,并将结果导入uniq。
  • uniq为每种类型的唯一文件扩展名返回一个列表。注意,如果没有文件扩展名(例如makefile、目录Help和gc\u Help),则会列出整个文件名。

最后,将-c(count)命令行选项添加到uniq命令中。

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

如何在linux上使用rev命令

我们现在得到一个当前目录中不同文件类型的排序列表,每个文件类型都有一个计数。

这是一个相当漂亮的一行!

drawrof og ot drawkcab gniog图纸

有时你必须后退才能前进。作为一个团队的一员,你通常前进得最快。

将rev添加到您的goto命令库中,您很快就会使用它来简化其他复杂的命令序列。

  • 发表于 2021-04-03 07:47
  • 阅读 ( 213 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 307 )

如何在android和termux上使用linux命令行

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 373 )

如何在windows10上获得linux bash shell

... 如何在windows10上安装linux bash shell ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 286 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 276 )

linux正在吃掉你的公羊吗?如何管理你的记忆

...的内存。为了理解到底发生了什么,我们必须看看Linux是如何管理内存的。 ...

  • 发布于 2021-03-23 08:31
  • 阅读 ( 313 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 185 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 334 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 452 )

如何在linux上使用snap包

...盒中。 如果它们不是以通常的方式安装的,那么它们是如何处理的呢?嗯,单个包文件被下载、解压缩,并作为一个SquashFSvirtual文件系统装载。然后将它作为一个虚拟环境呈现给您。所有这些都发生在幕后。你所知道的只是你...

  • 发布于 2021-04-02 12:19
  • 阅读 ( 313 )

如何检查linux上安装了哪个gpu

需要识别Linux计算机中的图形处理单元(GPU)吗?下面是如何从命令行和GNOME中识别图形卡。 第一步 你可能去过那里。你被征召来为一个非技术性的亲戚或同事提供支持,有些事情告诉你这不是无痛的。不过,你还是加入了!...

  • 发布于 2021-04-02 16:40
  • 阅读 ( 238 )
zql1985
zql1985

0 篇文章

相关推荐