我有一个文本文件,我想将“/ A”从第507行移到我文本的第561行。 我将只放置文件的一部分。
这是一个例子:
A NAME="23_09_15at12_37_00_comp_sum_mismatch" < /A >
<data>
-----------------
Mismatch analysis
-------------------------------------------------------------
Statistics All_Seqs Mean s.d.
-------------------------------------------------------------
Demographic expansion
---------------------
Tau 18.6 18.58410 0.00000
Tau qt 2.5% 7.79899 7.79899 0.00000
Tau qt 5% 10.53528 10.53528 0.00000
Tau qt 95% 23.50602 23.50602 0.00000
Tau qt 97.5% 24.74816 24.74816 0.00000
Theta0 0.00000 0.00000 0.00000
Theta0 qt 2.5% 0.00000 0.00000 0.00000
Theta0 qt 5% 0.00000 0.00000 0.00000
我想要这个结果:
A NAME="23_09_15at12_37_00_comp_sum_mismatch"
<data>
-----------------
Mismatch analysis
-------------------------------------------------------------
Statistics All_Seqs Mean s.d.
-------------------------------------------------------------
Demographic expansion
---------------------
Tau 18.6 18.58410 0.00000
Tau qt 2.5% 7.79899 7.79899 0.00000
Tau qt 5% 10.53528 10.53528 0.00000
Tau qt 95% 23.50602 23.50602 0.00000
Tau qt 97.5% 24.74816 24.74816 0.00000
Theta0 0.00000 0.00000 0.00000
Theta0 qt 2.5% 0.00000 0.00000 0.00000
Theta0 qt 5% 0.00000 0.00000 0.00000
< /A >
答案 0 :(得分:0)
您可以使用sed
执行任务:
sed -e '507s=</A>==' -e '561i\
</A>' input-file > output-file
第一个命令意味着&#34;在第507行,替换</A>
没有任何&#34 ;;第二个意思是&#34;在第561行之前,插入</A>
&#34;,
答案 1 :(得分:0)
awk
救援!
可能比sed
版
$ awk -v k="< /A >" 'NR==1{sub(k,"")} NR==20{print k} 1' file
我使用行号1和20进行测试,您可以根据实际情况进行更改。请注意,计算行数可能不是您想要的,而是通过其他方式识别/到位置,在这种情况下awk
将提供更多选项...
A NAME="23_09_15at12_37_00_comp_sum_mismatch"
<data>
-----------------
Mismatch analysis
-------------------------------------------------------------
Statistics All_Seqs Mean s.d.
-------------------------------------------------------------
Demographic expansion
---------------------
Tau 18.6 18.58410 0.00000
Tau qt 2.5% 7.79899 7.79899 0.00000
Tau qt 5% 10.53528 10.53528 0.00000
Tau qt 95% 23.50602 23.50602 0.00000
Tau qt 97.5% 24.74816 24.74816 0.00000
Theta0 0.00000 0.00000 0.00000
Theta0 qt 2.5% 0.00000 0.00000 0.00000
Theta0 qt 5% 0.00000 0.00000 0.00000
< /A >