我有一个标签文件,其中有两列,如下所示
BB_12 100_AA
BB_13 101_AB
BB_14 102_AD
BB_15 103_AC
我希望删除第二列中的number_(无数字替换number_)。为此我尝试使用sed替换以下方式失败。
sed 's/\d+\_//g' infile
sed 's/(\d+\_)//g' infile
但没有一项调整有效。它似乎没有在第二列中搜索。如何修改?预期的输出是
BB_12 AA
BB_13 AB
BB_14 AD
BB_15 AC
提前致谢。
答案 0 :(得分:1)
您可以使用 sed
:
sed -E 's/[^ ]*_([^ ]*) *$/\1/' file
输出:
BB_12 AA
BB_13 AB
BB_14 AD
BB_15 AC
Awk
替代方案:
awk '{ sub(/^[^ ]+_/, "", $2) }1' OFS='\t' file
答案 1 :(得分:0)
以下简单的sed
可能对您有帮助。
sed 's/\([^ ]*\) \([^_]*\)_\(.*\)/\1 \3/g' Input_file
输出如下。
BB_12 AA
BB_13 AB
BB_14 AD
BB_15 AC