我的输入看起来像是由制表符分隔):
Yadda yaddabla blubb_1234 extremlylongtext, with commata
awesomo sappa dwarf_775 extremlylongbutdifferenttext, with commata
输出应为:
Yadda yaddabla S23 blubb_1234 1234 extremlylongtext, with commata
awesomo sappa y5 dwarf_775 775 extremlylongbutdifferenttext, with commata
所以我想在一个用制表符分隔的“_”字符后只重复数字。有什么建议? :)
答案 0 :(得分:1)
sed 's/_\([[:digit:]]\{1,\}\)/_\1\t\1/g'
我用\t
显示了这一点,表明输出中有一个标签。如果你没有使用GNU sed,你可能需要用文字标签替换它。
答案 1 :(得分:0)
选项卡分隔文件的awk解决方案
awk -F"\t" 'BEGIN{OFS="\t";}{$2 = gensub(/_([0-9]+)/,"_\\1\t\\1","g",$2);}1' temp.txt