【发布时间】:2013-10-16 07:38:14
【问题描述】:
我需要将从 # 开始的每一行移到下一行的末尾(AWK/SED ?)。
Testfile.txt:
# FIRST COMMENT
alias1: john@domain.com, tom@domain.com
alias2: betty@domain.com
# SECOND COMMENT
alias3: anna@domain.com, mark@domain.com
alias4: dan@domain.com
预期输出:
alias1: john@domain.com, tom@domain.com # FIRST COMMENT
alias2: betty@domain.com
alias3: anna@domain.com, mark@domain.com # SECOND COMMENT
alias4: dan@domain.com
我设法做到了这一点(但我确信这不是最好的解决方案):
sed '/^#/ N;s/\n/$/' testfile.txt | sed -e 's/\(.*\)$\(.*\)/\2 \1/
- 第一个 SED 合并行与下一个使用
$分隔符。 - 第二次 SED 在
$字符之间切换所有内容
有什么建议可以让它变得更好(性能和外观)?
谢谢
【问题讨论】: