删除文件中的字母数字后缀

Removing alpha numeric suffix in the file

我在文件的第 4 列中有一些 ID 以“:E1”结尾的特定行(我想删除这些第 4 列特别以 :E1 而不是 :E11 或 :E10 结尾的行等)。当我执行 grep 时,我发现有 87 行具有该模式

    grep "\:E1\b" File | wc -l
    87

但是当我这样做时

    sed '/:E1$/d' File > tmp
    wc -l File
    245797 File 
    wc -l tmp
    245797 tmp

与原始文件长度相同,这表明模式以 :E1 结尾的行没有被删除。我在理解命令时哪里出错了? 该文件看起来像这样

chr1    133374  133566  ENSG00000238009:E1  -   ENSG00000238009 1
chr1    995083  995226  ENSG00000217801:E1  +   ENSG00000217801 1
chr1    1385294 1385499 ENSG00000215915:E1  +   ENSG00000215915 1
chr1    10003388    10003465    ENSG00000162441:E1  -   ENSG00000162441 1
chr1    38273332    38273352    ENSG00000197982:E1  +   ENSG00000197982 1

我想删除第 4 列中以 :E1 结尾的行

在第 ($) 行处搜索 :E1 并替换为空:

sed 's/:E1$//' File 

我要删除第 4 列以 :E1 结尾的行:

$ awk ' !~ /:E1$/' foo
$