如何向文件的每一行添加一个新元素

pri*_*nka 1 text-processing bioinformatics

我有一个包含此内容的文件:

CHROM_POS
chr10_100009635
chr10_100187980
chr10_100229692
chr10_100267650
chr10_100269675
chr10_100279430
chr10_100285899
Run Code Online (Sandbox Code Playgroud)

我想向此文件添加新内容,例如:

chrX-1, chrX
Run Code Online (Sandbox Code Playgroud)

其中X代表上面的数字 所以应该是

chr10_100285898 chr10_100285899
Run Code Online (Sandbox Code Playgroud)

von*_*and 6

Perl 解决方案:

perl -p -e 's;([^_]+)_(\d+);"$1_" . ($2 - 1) . " $1_$2";e'
Run Code Online (Sandbox Code Playgroud)

-p标志遍历所有线路,-e给出脚本作为参数。在([^_]+)之前什么来捕捉_$1,(\ d +)captures the digits into$ 2 , the e`修饰符来替换启用表情。

将您的输入文件作为参数或仅作为标准输入。