命令行快速提示:从文件中剪切内容

[ad_1]

这 Fedora 发行版是一个功能齐全的操作系统,具有出色的图形桌面环境。 用户可以轻松地指向并单击他们的方式来完成几乎任何典型的任务。 所有这些美妙的易用性掩盖了引擎盖下强大命令行的细节。 本文是向您展示一些常见命令行实用程序的系列文章的一部分。 所以让我们进入shell,看看 .

通常,当您在命令行中工作时,您正在处理文本文件。 有时这些文件可能很长。 完整地阅读它们虽然可行,但可能非常耗时且容易出错。 在本期中,您将学习如何从文本文件中提取内容,并从中获取所需的信息。

重要的是要认识到有很多方法可以完成类似的命令行任务 Fedora. 这 Fedora 例如,存储库包括用于解析和处理文本的整个语言系统。 此外,还有多个命令行实用程序可用于 shell 中可以想到的任何目的。 本文将只关注使用其中的一些实用程序选项,从文件中提取一些信息并以可读格式呈现。

进行切割

为了说明这个例子,在系统上使用一个标准的大文件,比如 /etc/passwd。 正如在本系列的前一篇文章中看到的,您可以执行 cat 命令来查看整个文件:

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...

此文件包含有关系统上所有帐户的信息。 它有一个特定的格式:

name:password:user-id:group-id:comment:home-directory:shell

想象一下,您只想拥有系统上所有帐户名称的列表。 如果您只能从每一行中删除名称值。 这就是 cut 命令派上用场的地方! 此命令一次处理任何输入一行,并提取该行的特定部分。

cut 命令提供了用于以不同方式选择行的一部分的选项,在本例中需要其中两个选项,-d 是指定要使用的分隔符类型的选项,-f 是指定要使用的分隔符类型的选项。要剪的线。 -d 选项允许您声明分隔一行中的值的定界符。 在这种情况下,冒号 (:) 用于分隔值。 -f 选项允许您选择要提取的一个或多个字段值。 所以对于这个例子,输入的命令是:

$ cut -d: -f1 /etc/passwd
root
bin
daemon
adm
...

太好了,它奏效了! 但是您将打印输出到标准输出,这在终端会话中至少意味着屏幕。 如果您需要稍后完成另一项任务的信息怎么办? 如果有一种方法可以将 cut 命令的输出放入文本文件中进行保存,那就太好了。 对于此类任务,有一个简单的内置 shell 函数,即重定向函数 (>)。

$ cut -d: -f1 /etc/passwd > names.txt

这会将 cut 的输出放入一个名为 names.txt 的文件中,您可以使用 cat 检查内容:

$ cat names.txt
root
bin
daemon
adm
...

两条命令和一个shell函数,很容易用cat识别,用cut提取,将一个文件中提取的信息重定向,保存到另一个文件中以备后用。

拍摄者 乔尔·姆布瓜不飞溅.

[ad_2]

Related Posts