Bash 仅输出所需文本

Bash 仅输出所需文本,bash,shell,Bash,Shell,我有一个文件: $ cat file . . 4h 5h 6h 7h . . . 16h 17h 18h . . 我只想输出具有“6h”和“7h”的行,但使用以下awk它也选择“16h”和“17h”:( awk'/6h/| |/7h/{print}文件 如何使其仅选择“6h”和“7h”,而不选择“16h”和“17h”。 如果任何其他命令更容易执行此任务,则AWK不是必需的。如何: grep '^[67]h' file 使用grep精确匹配运算符: grep -w "6h\|7h&q

我有一个文件:

$ cat file
.
.
4h
5h
6h
7h
.
.
.
16h
17h
18h
.
.
我只想输出具有“6h”和“7h”的行,但使用以下awk它也选择“16h”和“17h”:(

awk'/6h/| |/7h/{print}文件

如何使其仅选择“6h”和“7h”,而不选择“16h”和“17h”。 如果任何其他命令更容易执行此任务,则AWK不是必需的。

如何:

grep '^[67]h' file

使用
grep
精确匹配运算符:

grep -w "6h\|7h" file
从grep手册:

-w、 --word regexp

仅选择包含构成整词的匹配项的行。测试是,匹配的子字符串必须位于行的开头,或前面有一个非单词组成字符。类似地,它必须位于行的结尾或后面有一个非单词组成字符。单词组成字符是字母,数字和下划线


例如,这也将匹配包含
1237h
的行