我正在尝试在原始行之后插入行的修改后的副本。
这是我的档案:
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
它意味着默认情况下,它不会打印任何行。然后,我们给它两个命令。第一种p
是打印未修改的现有行。第二个命令,s/^N:/FN:/p
告诉它尝试替换FN:
任何前导N:
,如果替换成功(意味着该行实际上确实以开头N:
),则还打印修改后的版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句