linux - 从两个唯一标签或评论之间的文件中提取内容并将其放入具有相同标签或评论的其他文件中?
问题描述
我有 2个包含此内容的文件test1.py和test2.py
测试1.py:
#first
#endoffirst
#second
#endofsecond
#3rd
#endof3rd
和test2.py :
#first
this is first command
#endoffirst
#second
this is second command
#endofsecond
#3rd
this is 3rd command
#endof3rd
我想首先检查test2.py文件并在#first和#endoffirst之间复制内容,然后使用 Linux 中的 bash 脚本或其他操作将其放入test1.py文件中的相同标签中。我的意思是一个文件中两个唯一标签或命令之间的所有内容都应该复制并放在另一个文件中的相同标签或注释之间。
我已经测试了很多东西 line sed命令,但我无法得到正确的答案。
我很感激任何人都可以帮助我解决这个问题
解决方案
这可能是你想要做的:
$ cat tst.awk
/^#/ {
inBlock = !inBlock
if ( inBlock ) {
tag = $0
}
}
NR == FNR {
if ( inBlock ) {
val[tag] = (tag in val ? val[tag] ORS : "") $0
}
next
}
$0 in val {
print val[$0]
}
!inBlock
$ awk -f tst.awk test2.py test1.py
#first
this is first command
#endoffirst
#second
this is second command
#endofsecond
#3rd
this is 3rd command
#endof3rd
推荐阅读
- oracle - 试图编译包体,我得到错误(37,6):PLS-00103:遇到符号“;” 预期以下情况之一时:如果
- java - Android Studio 链接引用失败
- java - 如果 Quartz 作业不抛出 JobExecutionException 会发生什么?
- javascript - 如何保护网页的自定义用户输入代码?
- sql - 条件查询中的数据类型不匹配
- java - 超级关键字使用
- ios - 使用 Star Image 为 UIButton 设置边框
- typescript - How to select item from autocomplete drop-down list in Protractor using TypeScript?
- powershell - 如何通过 mmc 查看其他用户的证书以及所有登录信息?
- python - python plotly在x轴上显示更多值