命令行技巧:分割文件内容
创始人
2024-03-02 02:23:26
0

Fedora 发行版是一个功能齐全的操作系统,有出色的图形化桌面环境。用户可以很容易地通过单击动作来完成任何典型任务。所有这些美妙的易用性掩盖了其底层强大的命令行细节。本文是向你展示一些常见命令行实用程序的系列文章的一部分。让我们进入 shell 来看看 cut

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

重要的是要意识到,在 Fedora 中有许多方法可以完成类似的命令行任务。例如,Fedora 仓库含有用于解析和处理文本的完整语言系统。此外,还有多个命令行实用程序可用于 shell 中任何可能的用途。本文只关注使用其中几个实用程序选项,从文件中提取一些信息并以可读的格式呈现。

cut 使用

为了演示这个例子,在系统上使用一个标准的大文件,如 /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

假设你只想要系统上所有账户名的列表,如果你只能从每一行中删除 “name” 值。这就是 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 从一个文件进行识别、提取和重定向一些信息,并将其保存到另一个文件以供以后使用。


via: https://fedoramagazine.org/command-line-quick-tips-cutting-content-out-of-files/

作者:Stephen Snow 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

cut

相关内容

Ubuntu 25.10进...
2025-08-16 01:41:14 作者:狼叫兽 Ubun...
2025-08-16 16:14:45
不执行的cursor.ex...
要解决“不执行的cursor.execute”字符串的问题,您可以...
2025-01-12 12:00:42
不在onPostExecu...
在Android开发中,onPostExecute方法是在doIn...
2025-01-11 15:30:55
Buyordersexec...
'Buy orders execution to be limit...
2025-01-11 09:31:22
不想要在Spring Ba...
在Spring Batch中,如果你不想使用JOB_EXECUTI...
2025-01-10 07:00:47
不同项目下ShellExe...
在调用ShellExecute函数时,设置好第一个参数hwnd和第...
2025-01-09 21:32:08

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...