【发布时间】:2013-06-06 04:46:03
【问题描述】:
我有一个包含五列的文件。
文件 1 看起来像:
1111 1111 exm-IND1-200449980 I I
1111 1111 exm-IND1-201453487 I -
1111 1111 exm-IND1-85310248 I I
1111 1111 exm-IND10-102817747 D D
1111 1111 exm-IND10-18329639 - D
1111 1111 exm-IND10-27476467 I I
1111 1111 exm-IND10-27727540 D -
我想摆脱-,但仅限于第4 列和第5 列,并在这些情况下将- 替换为0。我一直在使用以下代码行:
sed '/^\([^\t]*\t[^\t]*\t[^\t]*\)\t-\t-\(.*\)/ s//\1\t0\t\2/' file1 > newfile
解决这个问题,但觉得这有点笨拙。有没有人对这个问题有更简洁的建议?因为我会经常遇到它。
提前感谢您的帮助。
【问题讨论】:
-
我绝对认为
awk会更适合这个... -
如果你的文件有 5 列,那么第 6 列是从哪里来的?
-
第 4 列和第 5 列,我很抱歉。我已经相应地编辑了问题。