如何仅使用grep搜索模式之类的模式?

时间:2016-02-22 19:07:57

标签: grep

我正在使用模式“japconfig”搜索名称列表。一个目录中有很多文件。这些文件包含ixdf_japconfig_FZ.txt等名称, ixdf_japconfig_AB.txt,ixdf_japconfig_RK.txt,ixdf_japconfig_DK.txt,ixdf_japconfig_LY.txt。但我不知道在japconfig之后出现了什么名字。我需要列出所有这些名字。我的文件也包含ixdf_dbconfig.txt,但我不想在输出中打印ixdf_dbconfig.txt。

我的每个文件都包含一个ixdf_japconfig _ * .txt和ixdf_dbconfig.txt,其中*可以是FZ,AB,RK,DK,LY。我可以通过使用grep然后使用awk来剪切列来实现我想要的结果。但我不想使用AWK或其他命令。我想只使用grep。

我需要在名称下面打印。

ixdf_japconfig_FZ.txt
ixdf_japconfig_AB.txt
ixdf_japconfig_RK.txt
ixdf_japconfig_DK.txt
ixdf_japconfig_LY.txt

我不想打印ixdf_dbconfig.txt。

当我尝试使用“grep -oh”ixdf_japconfig。*。txt“* .dat”命令时,我的输出低于输出。

ixdf_japconfig_FZ.txt  ixdf_dbconfig.txt
ixdf_japconfig_AB.txt  ixdf_dbconfig.txt
ixdf_japconfig_RK.txt  ixdf_dbconfig.txt
ixdf_japconfig_DK.txt  ixdf_dbconfig.txt
ixdf_japconfig_LY.txt  ixdf_dbconfig.txt

其中第一列是我想要的列。但我不想打印第二栏。如何更改我的代码以仅打印第一列?

1 个答案:

答案 0 :(得分:2)

grep -oh ixdf_japconfig_...txt *.dat

(您的.*.与该行的大部分内容相匹配。)