删除除选定字符以外的所有字符

时间:2011-03-21 10:21:20

标签: sed

我有这样的行

ATOM  21001    O WAT   345       7.556  35.954  37.464  0.00  0.00
ATOM  21002   H1 WAT   345       7.076  35.701  36.675  0.00  0.00
ATOM  21003   H2 WAT   345       7.155  35.440  38.164  0.00  0.00
TER       0              0       0.000   0.000   0.000  0.00  0.00
ATOM  21004    O WAT   346       1.183  42.629  26.928  0.00  0.00
ATOM  21005   H1 WAT   346       1.412  43.325  26.313  0.00  0.00
ATOM  21006   H2 WAT   346       1.454  41.823  26.490  0.00  0.00
TER       0              0       0.000   0.000   0.000  0.00  0.00
ATOM  21007    O WAT   347       7.166  53.716  22.860  0.00  0.00
ATOM  21008   H1 WAT   347       7.950  54.234  22.675  0.00  0.00
ATOM  21009   H2 WAT   347       6.855  54.045  23.704  0.00  0.00
TER       0              0       0.000   0.000   0.000  0.00  0.00
ATOM  21010    O WAT   348       9.342  45.695  11.193  0.00  0.00
ATOM  21011   H1 WAT   348       8.488  45.846  10.788  0.00  0.00
ATOM  21012   H2 WAT   348       9.973  45.870  10.494  0.00  0.00
TER       0              0       0.000   0.000   0.000  0.00  0.00
ATOM  21013    O WAT   349      18.303  47.277  18.814  0.00  0.00
ATOM  21014   H1 WAT   349      17.411  47.357  18.476  0.00  0.00
ATOM  21015   H2 WAT   349      18.862  47.407  18.047  0.00  0.00

除了TER字之外,我想删除包含TER的行中的所有字符。

我已经在互联网上搜索sed命令,这可以做到这一点,但我找不到匹配特定单词的那个。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您需要使用以下内容:

sed 's/^TER.*$/TER/'