bash - bash Grep 多行“BID_1:****”并保存到“****_name”,其中 **** 是数字
问题描述
如标题所示 - 我有一个包含多行的文件,其中每行都包含 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
是否有机会使用一个命令来 grepBID_1:1111
并保存到1111_name
,BID_1:2222
保存到2222_name
,...,BID_1:5555
保存到5555_name
等?我的意思是
grep "BID_1:****" filename > ****_filename2
如果没有,我该怎么做才能不手动进行,grep by grep?
感谢帮助!
解决方案
我认为使用 awk 会更容易。喜欢:
awk '{
file = substr($3, 7) "_suffix"
print > file
# close(file)
}' file
神奇的 7 是前缀长度BID_1:
加 1,3
是字符串出现的字段数。您可能需要close(file)
根据实际输入的大小和您拥有的 awk 版本取消注释。
推荐阅读
- python - 如何在同一个 html 页面上显示发布请求的结果?烧瓶应用
- python - 类型错误:get_properties() 缺少 1 个必需的位置参数:“标识符”
- r - 对于分类变量的所有系数,具有“与平均值的差异”的模型;得到“对比编码”来做到这一点?
- recursion - rust 可以返回递归构建的解决方案吗?
- kafka-consumer-api - 如何在处理完大量消息之前暂停消费
- ember.js - ember.js 警告:未为表格设置“高度”属性
- promql - rate() 是每秒的增长率还是每秒的增长率?
- gekko - 中间变量条件的 Gekko 和
- angular - MVC Web 应用程序分阶段转换为 Angular
- c# - 如何使用特殊对象列表作为从 C# 中的同一类继承的类型的实例?