嗨,我正在尝试组合多个条件以从文件中创建一行。
如。

ASTRING1,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
ASTRING2,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
ASTRING3,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
BSTRING1,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
BSTRING2,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
BSTRING3,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
CSTRING1,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
CSTRING1,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
CSTRING3,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
.
.

我只想在第1个位置的“B”和“第一个”之后的字符串“B1Test'”和“第二个”之后的字符串“DRI3”,将这些行输出到一个文件中。
格雷普有可能吗?还是有更好的命令?
我找不到类似的。。。
谢谢

最佳答案

如果您的输入是基于列的,那么可以考虑awk。但是,对于这一要求,以下grep行应该有帮助:

grep '^B[^,]*,B1TEST[^,]*,.*/dir3/' file

它将为您提供输出:
BSTRING1,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
BSTRING2,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4
BSTRING3,B1TEST_NAME,/shared/dir1/dir2/dir3/dir4

10-01 11:54