如标题所示 - 我有一个包含多行的文件,其中每行都包含 string BID_1:****
。****
是不同的数字。例如:
string1 string2 BID_1:1111 string3
string1 string2 BID_1:2222 string3
string1 string2 BID_1:3333 string3
string1 string2 BID_1:4444 string3
string1 string2 BID_1:5555 string3
Run Code Online (Sandbox Code Playgroud)
是否有机会使用一个命令来 grepBID_1:1111
并保存到1111_name
、BID_1:2222
保存到2222_name
、...、BID_1:5555
保存到5555_name
等?我的意思是像
grep "BID_1:****" filename > ****_filename2
Run Code Online (Sandbox Code Playgroud)
如果没有,我该如何做才能避免手动执行,grep by grep?
感谢帮助!
我认为使用 awk 会更容易。喜欢:
awk '{
file = substr($3, 7) "_suffix"
print > file
# close(file)
}' file
Run Code Online (Sandbox Code Playgroud)
神奇的7是前缀的长度BID_1:
加1,3
是字符串出现的字段数。您可能需要取消注释,close(file)
具体取决于实际输入的大小和您拥有的 awk 版本。