首页>教程>Linux 命令手册> 文件内容查看与处理 >Linux look 命令 - 快速查找指定前缀开头的文本行

Linux look 命令 - 快速查找指定前缀开头的文本行

look 命令是 Linux / Unix /FreeBSD 系统中的一个用于快速查找以指定前缀开头的文本行的工具。它利用二分查找算法能够在已排序的文件中快速的匹配到查找的内容。

[!IMPORTANT]

用于查找的文件必须是已经排序的,可以使用 sort 命令排序文件,如: LC_ALL=C sort input.txt -o output.txt;排序中文文件时一定要使用 LC_ALL=C,使文件按照字节值排序。

look 命令基本语法结构

如下给出 look 命令语法结构的基本形式:

look [OPTIONS] [STRING] [FILE]

语法结构解释说明:

  • [OPTIONS]:控制搜索行为的选项
  • STRING:要搜索的行前缀字符串,必须提供
  • FILE:要搜索的目标文件,未提供时使用默认使用系统字典 /usr/share/dict/words

look 命令使用示例

如下给出一些 look 命令的基本使用示例,好帮助你掌握 look 命令的基本用法。

在默认字典中搜索前缀单词

当不指定用于搜索的目标前缀时,在默认的系统字典 /usr/share/dict/words

look tele

解释说明:在默认的系统字典 /usr/share/dict/words 查找以 "tele" 开头的单词。

指定文件中搜索前缀行

本实例中使用的示例文件的内容为:

李四 三年级
王五 二年级
张三 五年级

排序 name.txt 文件,生成排序后的 sorted-name.txt 文件:

LC_ALL=C sort name.txt -o sorted-name.txt

排序后的文件内容为:

张三 五年级
李四 三年级
王五 二年级

指定目标文件查找已 开头的行:

look "张" sorted-name.txt

输出内容为:

张三 五年级

搜索时忽略大小写

使用 -f 选项在搜索时忽略大小写:

look -f "ERROR" myfile.txt

指定自定义分隔符

使用 -t 选项指定匹配时使用字段分隔符:

look -t ',' "Smith" myfile.csv

命令选项详解

如下给出 look 命令选项的详细解释说明:

选项说明可运行的系统
-a, --alternative使用备用字典Linux
-d, --alphanum只比较字母和数字字符所有系统
-f, --ignore-case忽略字符的大小写差异所有系统
-t, --terminator=CHAR设置字符串的终止符所有系统
-c, --count显示匹配到的总行数的计数FreeBSD
-h, --help显示帮助信息Linux
-V, --version显示版本信息Linux

结语

look 命令是 Linux / Unix /FreeBSD 系统中的一个用于快速查找以指定前缀开头的文本行的工具。在本文中介绍的 look 命令的基本语法形式,并给出了 look 命令的详细使用示例,同时给出了 look 命令的所有选项的详细解释说明。