首页 > 解决方案 > 删除每一行的反斜杠

问题描述

我正在尝试从描述、特殊字符中清除文件,并仅获取 ID 列和不带反斜杠的计数列。我能够删除描述,但我想删除反斜杠,我使用:

sed '/^{/d' GSM2580320_counts.txt | tr '\\' ' ' | grep -vE '^__' GSM2580320_counts.txt> GSM2580320_counts01.txt
cat GSM2580320_counts01.txt | head

这是输出:

ID              Count
ENSG00000005075 459\
ENSG00000005100 1766\
ENSG00000005102 10\
ENSG00000005108 14517\
ENSG00000005156 3101\
ENSG00000005175 867\
ENSG00000005187 6\
ENSG00000005189 307\
ENSG00000005194 1368\
ENSG00000005206 2429\

我试过:

sed 's/\\//g'

还:

sed 's/\\/ /g'

但不是运气!

数据尾部:


ENSG00000285991 2\
ENSG00000285992 0\
ENSG00000285993 0\
ENSG00000285994 20\
__no_feature    7388512\
__ambiguous 1016493\
__too_low_aQual 0\
__not_aligned   2087327\
__alignment_not_unique  5970495\
}

数据负责人:

ENSG00000005075 459\
ENSG00000005100 1766\
ENSG00000005102 10\
ENSG00000005108 14517\
ENSG00000005156 3101\
ENSG00000005175 867\
ENSG00000005187 6\
ENSG00000005189 307\
ENSG00000005194 1368\
ENSG00000005206 2429\

标签: bash

解决方案


您可能希望将所有内容整合到一个sed脚本中。

sed -e '/^{/d' -e '/^__/d' -e 's/\\//g' GSM2580320_counts.txt > GSM2580320_counts01.txt

如果您只想在行尾删除反斜杠,请使用s/\\$//

对于更复杂的事情,可能sed用 awk 替换。


推荐阅读