【发布时间】:2021-12-20 11:45:24
【问题描述】:
文件:
url: urlvalue
name:
organisation:
word
如何提取 urlvalue 并将其添加到 name: 以便最终输出。
url: urlvalue
name: urlvalue
organisation:
word
正则表达式查找模式并进行复制,但通过编辑模式的第一个单词 例如。在上面找到该行下方带有 ^url 的行添加同一行的副本,但将 url: 更改为 name:
还查询以下内容: 如何在 awk 或 sed 中否定多个正则表达式?
例如。所有不以名称、组织和 url 开头的行 ---> 应用 pass: 作为这些行的前缀
试过了:
awk '$1 != "url*" && $1 != "name*" && $1 != "organisation*" {$1 = "pass"} {print}'
也试过了:
awk '$1 != "url*" && $1 != "name*" && $1 != "organisation*" {gsub(/^/, pass:, "g", $1) {print}'
不工作
另一种尝试过的解决方案部分工作
awk '$1 != "url:" && $1 != "name:" && $1 != "organisation:" {print "pass"$0}'
但它只输出
pass:word
期望的输出:
url: urlvalue
name: urlvalue
organisation:
pass:word
【问题讨论】:
-
sed 's/^url: \(.*\)$/: \1/; /^name: *$/d' a.txt- 添加新行name: \1并删除name:
标签: sed