【发布时间】:2019-07-24 22:42:47
【问题描述】:
我有一个这样的文件:
user$ cat -t file
0.1^I^I^I0.2
我希望编辑文件,以便每次出现两个连续的选项卡时,在两个选项卡的中间插入字符“NA”。可以出现的连续制表符的数量是任意的(在此示例中,连续三个制表符,但可以是两个或三个以上)。
我试过用 sed (BSD sed) 来做这个:
user$ cat -t <(sed $'s/\t\t/\tNA\t/g' file)
但这只会在前两个连续制表符的中间插入所需的字符,从而产生以下输出:
0.1^INA^I^I0.2
我还需要将字符插入第二对连续制表符的中间以获得此输出:
0.1^INA^INA^I0.2
更愿意为此使用 sed,但也可以使用其他工具,例如 awk 或 perl。
【问题讨论】: