linux - sed:包括一个由正则表达式指定的外部文件
问题描述
我想使用sed
. 这是一个例子
我有一个文件input.txt
,其中包含以下内容:
#INCLUDE filename-to-import
目前我正在处理这个sed
以创建output.txt
sed -r -e "/^#INCLUDE (\w+)/r ${HOME}/inc/<filename>.sh" input.txt
如何反向引用正则表达式中捕获的组以导入filename-to-import
指定的组?我尝试使用\1
但没有用,我相信因为它超出了正则表达式范围。$1
也没有用。
这可能sed
吗?
解决方案
如前所述,我认为这不能用sed
. 这是awk
一个单列:
awk '$1 == "#INCLUDE" { while(getline line <$2){print line} }' input.txt
推荐阅读
- elasticsearch - 如何使用 ELK 堆栈中的弹性搜索查询获取数组的长度?
- javascript - 是否可以通过按钮制作内容可编辑的段落?
- wpf - WPF 网格意外调整大小
- javascript - return 和 console.log() 有什么区别
- java - 尝试发布 WebLogic 12.2.1 应用程序时解析 application.xml 时出错
- python - 如何在 Dataframe 中按 Timedelta 划分 float64 数字?
- java - 尽管使用了合乎逻辑的方式,但无法绘制圆圈
- delphi - 为什么使用我用来通过传真发送报告的代码,传真的第二页被截断了一半?
- loops - 显示范围内给定数字的倍数
- r - 在闪亮的应用程序中基于用户输入(使用预定义的基于分类的调色板)为传单多边形着色