我有一个大文件,下面给出了行模式:
MDQ[11:15],IO,MDQ[10:14],,,,MDQ[12:16],TPR_AAWD[11:15]
我想修改此文件,如下所示:
MDQ[11],IO,MDQ[10],,,,MDQ[12],TPR_AAWD[11]
MDQ[12],IO,MDQ[11],,,,MDQ[13],TPR_AAWD[12]
MDQ[13],IO,MDQ[12],,,,MDQ[14],TPR_AAWD[13]
MDQ[14],IO,MDQ[13],,,,MDQ[15],TPR_AAWD[14]
我如何在sed / awk / perl / csh / vim中实现这一点? 请帮忙
答案 0 :(得分:2)
awk -F '[][]' '{
split($2, a, /:/)
split($4, b, /:/)
split($6, c, /:/)
split($8, d, /:/)
for (i=0; i < a[2]-a[1]; i++) {
printf("%s[%d]%s[%d]%s[%d]%s[%d]\n",
$1, a[1]+i,
$3, b[1]+i,
$5, c[1]+i,
$7, d[1]+i)
}
}'
答案 1 :(得分:0)
希望以下有帮助:
sed -e 's/:[0-9]*//g'