返回顶部
首页 > 资讯 > 操作系统 >Linux过滤命令怎么使用
  • 861
分享到

Linux过滤命令怎么使用

2023-06-28 01:06:54 861人浏览 八月长安
摘要

这篇文章主要讲解了“linux过滤命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux过滤命令怎么使用”吧!在Linux系统中有许多命令可以用来过滤,比如:awk命令、sed

这篇文章主要讲解了“linux过滤命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux过滤命令怎么使用”吧!

Linux过滤命令怎么使用

在Linux系统中有许多命令可以用来过滤,比如:awk命令、sed命令、head 命令等等。
具体使用方法如下:

1、 awk 命令

awk 是一个卓越的模式扫描和处理语言,它可被用于在 Linux 下构造有用的过滤器。你可以通过阅读我们的 awk 系列 1 到 13 部分 来开始使用它。

另外,也可以通过阅读 awk 的 man 手册来获取更多的信息和使用选项。

$ man awk

2、 sed 命令

sed 是一款过滤和转换文本的强大的流编辑器。我们已经写了两篇关于 sed 的有用的文章,你可以通过这儿来了解:

  • 如何使用 GNU sed 命令在 Linux 下创建、编辑和处理文件
  • 日常 Linux 系统管理员任务使用的 15 个有用的 sed 命令小贴士和技巧

sed 的 man 手册已经添加控制选项和说明:

$ man sed

3、 grep、 egrep、 fgrep、 rgrep 命令行

这些过滤器输出匹配指定模式的行。它们从一个文件或者标准输入读取行,并且输出所有匹配的行,默认输出到标准输出。

注意:主程序是 grep,这些变体与使用特定的选项的 grep 相同,如下所示(为了向后兼容性,它们依旧在使用):

$ egrep = grep -E$ fgrep = grep -F$ rgrep = grep -r

下面是一些基本的 grep 命令:

tecmint@TecMint ~ $ grep "aaronkilik" /etc/passwdaaronkilik:x:1001:1001::/home/aaronkilik:tecmint@TecMint ~ $ cat /etc/passwd | grep "aronkilik"aaronkilik:x:1001:1001::/home/aaronkilik:

在 Linux 下的 grep、 egrep 和 fgrep 的差异?中,你可以了解更多。

4、 head 命令

head 用于显示文件前面的部分,默认情况下它输出前 10 行。你可以使用 -n 标志来指定显示的行数:

tecmint@TecMint ~ $ head /var/log/auth.log  Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session opened for user root by (uid=0)Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session closed for user rootJan  2 10:51:34 TecMint sudo:  tecmint : TTY=unknown ; PWD=/home/tecmint ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.pyJan  2 10:51:34 TecMint sudo: pam_unix(sudo:session): session opened for user root by (uid=0)Jan  2 10:51:39 TecMint sudo: pam_unix(sudo:session): session closed for user rootJan  2 10:55:01 TecMint CRON[4099]: pam_unix(cron:session): session opened for user root by (uid=0)Jan  2 10:55:01 TecMint CRON[4099]: pam_unix(cron:session): session closed for user rootJan  2 11:05:01 TecMint CRON[4138]: pam_unix(cron:session): session opened for user root by (uid=0)Jan  2 11:05:01 TecMint CRON[4138]: pam_unix(cron:session): session closed for user rootJan  2 11:09:01 TecMint CRON[4146]: pam_unix(cron:session): session opened for user root by (uid=0)tecmint@TecMint ~ $ head  -n 5 /var/log/auth.log  Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session opened for user root by (uid=0)Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session closed for user rootJan  2 10:51:34 TecMint sudo:  tecmint : TTY=unknown ; PWD=/home/tecmint ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.pyJan  2 10:51:34 TecMint sudo: pam_unix(sudo:session): session opened for user root by (uid=0)Jan  2 10:51:39 TecMint sudo: pam_unix(sudo:session): session closed for user root

学习如何 使用带有 tail 和 cat 命令的 head 命令,以便在 Linux 下更有效的使用。

5、 tail 命令

tail 输出一个文件的后面的部分(默认 10 行)。使用 -n 选项来指定显示的行数。

下面的命令将会输出指定文件的最后 5 行:

tecmint@TecMint ~ $ tail -n 5 /var/log/auth.logJan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.

另外,tail 有一个特殊的选项 -f ,可以 实时查看一个文件的变化 (尤其是日志文件)。

下面的命令将会使你能够监控指定文件的变化:

tecmint@TecMint ~ $ tail -f /var/log/auth.logJan  6 12:58:01 TecMint sshd[1269]: Server listening on :: port 22.Jan  6 12:58:11 TecMint sshd[1269]: Received SIGHUP; restarting.Jan  6 12:58:12 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.Jan  6 12:58:12 TecMint sshd[1269]: Server listening on :: port 22.Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.

阅读 tail 的 man 手册,获取使用选项和说明的完整内容:

$ man tail

6、 sort 命令

sort 用于将文本文件或标准输入的行进行排序

下面是一个名为 domain.list 的文件的内容:

tecmint@TecMint ~ $ cat domains.listtecmint.comtecmint.comnews.tecmint.comnews.tecmint.comlinuxsay.comlinuxsay.comwindowsmint.comwindowsmint.com

你可以像这样运行一个简单的 sort 命令 来排序文件内容:

tecmint@TecMint ~ $ sort domains.listlinuxsay.comlinuxsay.comnews.tecmint.comnews.tecmint.comtecmint.comtecmint.comwindowsmint.comwindowsmint.com

你可以有多种方式来使用 sort 命令,请参阅以下一些关于 sort 命令的有用的文章。

  • Linux 的 ‘sort’命令的14个有用的范例(一)
  • Linux 的 ‘sort’命令的七个有趣实例(二)
  • 如何基于修改日期和时间来查找和排序文件

7、 uniq 命令

uniq 命令用于报告或者忽略重复行,它从标准输入过滤行,并且把结果写到标准输出。

在对一个输入流运行 sort 之后,你可以使用 uniq 删除重复行,如下例所示。

为了显示行出现的数目,使用 -c 选项,要在对比时忽略大小写的差异,使用 -i 选项:

tecmint@TecMint ~ $ cat domains.listtecmint.comtecmint.comnews.tecmint.comnews.tecmint.comlinuxsay.comlinuxsay.comwindowsmint.comtecmint@TecMint ~ $ sort domains.list | uniq -c 2 linuxsay.com2 news.tecmint.com2 tecmint.com1 windowsmint.com

通过阅读 uniq 的 man 手册来获取进一步的使用信息和选项:

$ man uniq

8、 fmt 命令行

fmt 是一款简单的优化的文本格式化器,它重新格式化指定文件的段落,并且打印结果到标准输出。

以下是从文件 domain-list.txt 提取的内容:

1.tecmint.com 2.news.tecmint.com 3.linuxsay.com 4.windowsmint.com

为了把上面的内容重新格式化成一个标准的清单,运行下面的命令,使用 -w 选项定义最大行宽度:

tecmint@TecMint ~ $ cat domain-list.txt1.tecmint.com 2.news.tecmint.com 3.linuxsay.com 4.windowsmint.comtecmint@TecMint ~ $ fmt -w 1 domain-list.txt1.tecmint.com2.news.tecmint.com3.linuxsay.com4.windowsmint.com

9、 pr 命令

pr 命令转换文本文件或者标准输入之后打印出来。例如在 Debian 系统上,你可以像下面这样显示所有的安装包:

$ dpkg -l

为了将要打印的列表在页面和列中组织好,使用以下命令。

tecmint@TecMint ~ $ dpkg -l | pr --columns 3 -l 20  2017-01-06 13:19                                                  Page 1Desired=Unknown/Install ii  adduser             ii  apg| Status=Not/Inst/Conf- ii  adwaita-icon-theme  ii  app-install-data|/ Err?=(none)/Reinst-r ii  adwaita-icon-theme- ii  apparmor||/ Name                ii  alsa-base               ii  apt+++-=================== ii  alsa-utils            ii  apt-cloneii  accountsservice     ii  anacron               ii  apt-transport-httpsii  acl                 ii  apache2               ii  apt-utilsii  acpi-support        ii  apache2-bin           ii  apt-xapian-indexii  acpid               ii  apache2-data          ii  aptdaemonii  add-apt-key         ii  apache2-utils         ii  aptdaemon-data2017-01-06 13:19                                                  Page 2ii  aptitude            ii  avahi-daemon          ii  bind9-hostii  aptitude-common     ii  avahi-utils           ii  binfmt-supportii  apturl              ii  aview                   ii  binutilsii  apturl-common       ii  banshee               ii  bisonii  archdetect-deb      ii  baobab                ii  bltii  aspell              ii  base-files            ii  blueberryii  aspell-en           ii  base-passwd           ii  bluetoothii  at-spi2-core        ii  bash                    ii  bluezii  attr                ii  bash-completion     ii  bluez-cupsii  avahi-autoipd       ii  bc                      ii  bluez-obexd.....

其中,使用的标志如下:

  • –column 定义在输出中创建的列数。
  • -l 指定页面的长度(默认是 66 行)。

10、 tr 命令行

这个命令从标准输入转换或者删除字符,然后输出结果到标准输出。

使用 tr 的语法如下:

$ tr options set1 set2

看一下下面的例子,在第一个命令,set1( [:upper:] ) 代表指定输入字符的大小写(都是大写字符)。 set2([:lower:]) 代表期望结果字符的大小写。第二个例子意思相似,转义字符 /n 表示在新的一行打印输出:

tecmint@TecMint ~ $ echo "WWW.TECMINT.COM" | tr [:upper:] [:lower:]www.tecmint.comtecmint@TecMint ~ $ echo "news.tecmint.com" | tr [:lower:] [:upper:]NEWS.TECMINT.COM

11、 more 命令

more 命令是一个有用的文件过滤器,最初为查看证书而建。它一页页显示文件内容,用户可以通过按回车来显示更多的信息。

你可以像这样使用它来显示大文件:

tecmint@TecMint ~ $ dmesg | more[    0.000000] Initializing cgroup subsys cpuset[    0.000000] Initializing cgroup subsys cpu[    0.000000] Initializing cgroup subsys cpuacct[    0.000000] Linux version 4.4.0-21-generic (buildd@lgw01-21) (GCc version 5.3.1 20160413 (ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic4.4.6)[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro quiet splash vt.handoff=7[    0.000000] KERNEL supported cpus:[    0.000000]   Intel GenuineIntel[    0.000000]   AMD AuthenticAMD[    0.000000]   Centaur CentaurHauls[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point reGISters'[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' fORMat.[    0.000000] x86/fpu: Using 'eager' FPU context switches.[    0.000000] e820: BiOS-provided physical RAM map:[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d3ff] usable[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000a56affff] usable[    0.000000] BIOS-e820: [mem 0x00000000a56b0000-0x00000000a5eaffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000a5eb0000-0x00000000aaabefff] usable--More--

12、 less 命令

less 是和上面的 more 命令相反的一个命令,但是它提供了额外的特性,而且对于大文件,它会更快些。

按照 more 命令相同的方式使用它:

tecmint@TecMint ~ $ dmesg | less[    0.000000] Initializing cgroup subsys cpuset[    0.000000] Initializing cgroup subsys cpu[    0.000000] Initializing cgroup subsys cpuacct[    0.000000] Linux version 4.4.0-21-generic (buildd@lgw01-21) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic4.4.6)[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro quiet splash vt.handoff=7[    0.000000] KERNEL supported cpus:[    0.000000]   Intel GenuineIntel[    0.000000]   AMD AuthenticAMD[    0.000000]   Centaur CentaurHauls[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.[    0.000000] x86/fpu: Using 'eager' FPU context switches.[    0.000000] e820: BIOS-provided physical RAM map:[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d3ff] usable[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000a56affff] usable[    0.000000] BIOS-e820: [mem 0x00000000a56b0000-0x00000000a5eaffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000a5eb0000-0x00000000aaabefff] usable:

感谢各位的阅读,以上就是“Linux过滤命令怎么使用”的内容了,经过本文的学习后,相信大家对Linux过滤命令怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Linux过滤命令怎么使用

本文链接: https://lsjlt.com/news/315257.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux过滤命令怎么使用
    这篇文章主要讲解了“Linux过滤命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux过滤命令怎么使用”吧!在Linux系统中有许多命令可以用来过滤,比如:awk命令、sed...
    99+
    2023-06-28
  • Linux中怎么使用grep命令过滤特定进程信息
    要在Linux中使用grep命令过滤特定进程信息,可以通过以下步骤: 使用ps命令查看当前系统中运行的进程信息,例如: ps a...
    99+
    2024-04-02
  • Linux下grep常用过滤命令有哪些
    小编给大家分享一下Linux下grep常用过滤命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统中grep命令是一种强大的文本搜索工具,它能使...
    99+
    2023-06-28
  • 如何使用linux命令行工具进行文本行过滤
    小编给大家分享一下如何使用linux命令行工具进行文本行过滤,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常用命令行工具接下来主要使用的是head,tail,se...
    99+
    2023-06-12
  • Linux中如何使用pstree命令过滤特定进程信息
    在Linux中使用pstree命令过滤特定进程信息,可以结合grep命令来实现。例如,要过滤出包含特定关键词的进程信息,可以使用以下...
    99+
    2024-04-02
  • Linux 使用grep筛选多个条件及grep常用过滤命令
    cat log.txt | grep 条件; cat log.txt | grep 条件一 | grep 条件二; cat log.txt | grep 条件一 | grep 条件二 | grep 条件三; grep...
    99+
    2022-06-04
    linux筛选grep命令 linux grep 筛选 grep过滤命令
  • Redis 布隆过滤器命令的使用详解
    目录一、docker 安装 Redis 布隆过滤器学习历史重要原因之一,就是要学会感恩,因为我们都是站在巨人的肩膀上。1.1、安装注意:1.2、测试二、RedisBloom 命令讲解2.1、命令大纲2.2、BF.ADD ...
    99+
    2024-04-02
  • Redis 布隆过滤器命令的使用详解
    目录一、Docker 安装 Redis 布隆过滤器学习历史重要原因之一,就是要学会感恩,因为我们都是站在巨人的肩膀上。1.1、安装注意:1.2、测试二、RedisBloom 命令讲解...
    99+
    2024-04-02
  • Linux的blkid命令命令怎么使用
    这篇文章主要介绍“Linux的blkid命令命令怎么使用”,在日常操作中,相信很多人在Linux的blkid命令命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux的blkid命令命令怎么使用...
    99+
    2023-06-28
  • vue指令及其过滤器怎么使用
    本篇内容主要讲解“vue指令及其过滤器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue指令及其过滤器怎么使用”吧!vue 指令与过滤器内容渲染指令内容渲染指令是用来辅助开发者渲染 D...
    99+
    2023-07-05
  • linux文本过滤grep基础命令介绍(5)
    在linux中经常需要对文本或输出内容进行过滤,最常用的过滤命令是grep grep [OPTIONS] PATTERN [FILE...] grep按行检索输入的每一行,如果输入行包含模式PATTERN,...
    99+
    2022-06-04
    文本 命令 基础
  • linux过滤空文件的命令都有哪些
    本篇文章给大家分享的是有关linux过滤空文件的命令都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在linux中有经常做文件的操作,今天有个同事在生产环境统计数据,发现...
    99+
    2023-06-16
  • 怎么使用Linux命令–du
    这篇文章主要为大家展示了“怎么使用Linux命令–du”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么使用Linux命令–du”这篇文章吧。du(disk usage)功能说明:显示目录或文件...
    99+
    2023-06-09
  • Linux命令unzip怎么使用
    本篇内容介绍了“Linux命令unzip怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、unzip命令unzip命令用于解压缩由z...
    99+
    2023-06-21
  • 怎么使用Linux cat命令
    这篇文章主要介绍“怎么使用Linux cat命令”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Linux cat命令”文章能帮助大家解决问题。如何使用cat创建文件要使用cat命令创建文件,...
    99+
    2023-06-27
  • Linux history命令怎么使用
    这篇文章主要介绍“Linux history命令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux history命令怎么使用”文章能帮助大家解决问题。history命令用于显示指定数...
    99+
    2023-06-27
  • Linux findfs命令怎么使用
    这篇文章主要介绍“Linux findfs命令怎么使用”,在日常操作中,相信很多人在Linux findfs命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux findfs命令怎么使用”的疑...
    99+
    2023-06-28
  • Linux find命令怎么使用
    这篇文章主要介绍“Linux find命令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux find命令怎么使用”文章能帮助大家解决问题。find在指定目录下查找文件补充说明find...
    99+
    2023-06-28
  • Linux fdisk命令怎么使用
    这篇文章主要介绍了Linux fdisk命令怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux fdisk命令怎么使用文章都会有所收获,下面我们一起来看看吧。Linux常用命令file 用来探测给...
    99+
    2023-06-28
  • Linux fgrep命令怎么使用
    本篇内容主要讲解“Linux fgrep命令怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux fgrep命令怎么使用”吧!Linux常用命令fgrep命令 是用来搜索 file ...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作