我有以下制表符分隔文件
AGREE FIND_008903.FIND_008907.FIND_008903.FIND_008904 0.5026 0.2524
AGREE FIND_000499.FIND_000503.FIND_000499.FIND_000502 0.5699 0.2790
AGREE FIND_004339.FIND_004342.FIND_004339.FIND_004341 0.5307 0.2562
AGREE FIND_008097.FIND_008100.FIND_008097.FIND_008098 0.5000 0.2456
我需要一个perl单行代替第二个句点,以便结果
AGREE FIND_008903.FIND_008907 FIND_008903.FIND_008904 0.5026 0.2524
AGREE FIND_000499.FIND_000503 FIND_000499.FIND_000502 0.5699 0.2790
AGREE FIND_004339.FIND_004342 FIND_004339.FIND_004341 0.5307 0.2562
AGREE FIND_008097.FIND_008100 FIND_008097.FIND_008098 0.5000 0.2456
我试过这个,但它取代了所有时期。
> perl -pe 'tr/(\w+\.\w+)\.(\w+\.\w+)/$1\t$2/s' /share/nas04/bioinformatics_group/data/studies/phenx/FIND/Stephen/Processed/king/FIND_AA.ld_pruned.ibd_king_comparison
AGREE FIND_008903$FIND_008907$FIND_008903$FIND_008904 0$5026 0$2524
AGREE FIND_000499$FIND_000503$FIND_000499$FIND_000502 0$5699 0$2790
AGREE FIND_004339$FIND_004342$FIND_004339$FIND_004341 0$5307 0$2562
AGREE FIND_008097$FIND_008100$FIND_008097$FIND_008098 0$5000 0$2456
我感谢任何指导。
答案 0 :(得分:3)
没有必要这么复杂。这将按你的要求进行
perl -pe 's/\.[^.]*\K\./\t/' myfile
AGREE FIND_008903.FIND_008907 FIND_008903.FIND_008904 0.5026 0.2524
AGREE FIND_000499.FIND_000503 FIND_000499.FIND_000502 0.5699 0.2790
AGREE FIND_004339.FIND_004342 FIND_004339.FIND_004341 0.5307 0.2562
AGREE FIND_008097.FIND_008100 FIND_008097.FIND_008098 0.5000 0.2456