加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 修改了行sed / awk的副本

发布时间:2020-12-15 22:09:19 所属栏目:安全 来源:网络整理
导读:我正在尝试在原始行之后插入修改后的行副本. 这是我的档案: randomN:John DoerandomN:Jane RoerandomrandomN:Name Sirnamerandom 这是我的文件需要看起来像: randomN:John DoeFN:John DoerandomN:Jane RoeFN:Jane RoerandomrandomN:Name SirnameFN:Name Si
我正在尝试在原始行之后插入修改后的行副本.

这是我的档案:

random
N:John Doe
random
N:Jane Roe
random
random
N:Name Sirname
random

这是我的文件需要看起来像:

random
N:John Doe
FN:John Doe
random
N:Jane Roe
FN:Jane Roe
random
random
N:Name Sirname
FN:Name Sirname
random

这个的任何想法?似乎无法找到合适的sed / awk组合……

解决方法

sed -n ' p; s/^N:/FN:/p' original.txt

这会产生:

random
N:John Doe
FN:John Doe
random
N:Jane Roe
FN:Jane Roe
random
random
N:Name Sirname
FN:Name Sirname
random

它的工作原理如下.我们调用sed -n这意味着,默认情况下,它不会打印任何行.然后,我们给它两个命令.第一个是打印未修改的现有行.第二个,s / ^ N:/ FN:/ p,告诉它尝试替换FN:对于任何前导N:并且,如果该替换成功(意味着该行实际上以N :)开头,那么也打印修改版.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读