Sed 如何重复模式并使用“修改”;标签";与塞德

Sed 如何重复模式并使用“修改”;标签";与塞德,sed,Sed,我的输入看起来像这样(由选项卡分隔): 输出应为: Yadda yaddabla S23 blubb_1234 1234 extremlylongtext, with commata awesomo sappa y5 dwarf_775 775 extremlylongbutdifferenttext, with commata 所以我只想在一个用制表符分隔的“u”字符后面重复数字。有什么建议吗?:) 我已

我的输入看起来像这样(由选项卡分隔):

输出应为:

Yadda yaddabla S23            blubb_1234      1234      extremlylongtext, with commata
awesomo sappa y5            dwarf_775       775       extremlylongbutdifferenttext, with commata
所以我只想在一个用制表符分隔的“u”字符后面重复数字。有什么建议吗?:)


我已经用一个
\t
显示了这一点,它指示输出中的一个选项卡。如果您没有使用GNU sed,则可能需要将其替换为文本选项卡。

awk解决方案用于选项卡分隔文件

awk -F"\t" 'BEGIN{OFS="\t";}{$2 = gensub(/_([0-9]+)/,"_\\1\t\\1","g",$2);}1' temp.txt

我想您还需要将OFS的
设置为选项卡。
sed 's/_\([[:digit:]]\{1,\}\)/_\1\t\1/g'
awk -F"\t" 'BEGIN{OFS="\t";}{$2 = gensub(/_([0-9]+)/,"_\\1\t\\1","g",$2);}1' temp.txt