如何使用grep提取字符串模式而不重复



我使用这个grep命令来提取字符串

grep -Enro --exclude=*features.cc --exclude=*.h --exclude=*switches.cc 'bk[A-Z]w*' ./*

我的输出是-

./vulkan/generate_bindings.py:409:kVulkanRequiredApiVersion
./vulkan/generate_bindings.py:588:kVulkanRequiredApiVersion
./vulkan/generate_bindings.py:603:kVulkanRequiredApiVersion
./vulkan/vulkan_vulkan_instance . .答:24:kSkippedErrors
。//vulkan_instance凡尔康。答:39:kSkippedErrors
。//vulkan_instance凡尔康。答:89:kVulkanRequiredApiVersion
。//vulkan_instance凡尔康。答:95:kVulkanRequiredApiVersion
。//vulkan_instance凡尔康。答:291:kVulkanRequiredApiVersion
。//vulkan_instance凡尔康。答:292:kVulkanRequiredApiVersion
。//vulkan_surface凡尔康。答:27日:kPreferredVkFormats
。//vulkan_surface凡尔康。答:32:kPreferredVkFormats
。//vulkan_surface.cc凡尔康:79:kMinImageCountskia_bindings/gles2_implementation_with_grcontext_support.cc: 324: kVertex_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 327: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 332: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 339: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 343: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 348: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 354: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 361: kStencil_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 364: kPixelStore_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 368: kPixelStore_GrGLBackendState/skia_bindings/gles2_implementation_with_grcontext_support.cc: 371: kProgram_GrGLBackendState374年。/skia_bindings/gles2_implementation_with_grcontext_support.cc:: kProgram_GrGLBackendState

但是在输出中有重复的。相同的字符串在重复。我想提取唯一字符串。有人能指点我一下吗?提前谢谢。

我需要如下输出:

。//generate_bindings.py:凡尔康409:kVulkanRequiredApiVersion。//vulkan_instance.cc:凡尔康24:kSkippedErrors89年。//vulkan_instance.cc:凡尔康:kVulkanRequiredApiVersion27。//vulkan_surface.cc:凡尔康:kPreferredVkFormats79年。//vulkan_surface.cc:凡尔康:kMinImageCount/skia_bindings/gles2_implementation_with_grcontext_support。答:324:kVertex_GrGLBackendState。/skia_bindings/gles2_implementation_with_grcontext_support.cc: 339: kStencil_GrGLBackendState

我不想重复使用相同的字符串。

grep有一个-m开关,这意味着您可以限制匹配的最大数量。使用-m 1应该可以解决您的问题,因此您将得到如下内容:

grep -Enro -m 1 --exclude=*features.cc --exclude=*.h --exclude=*switches.cc 'bk[A-Z]w*' ./*

最新更新