AWK:如何删除由混合分隔符分隔的列?
AWK: How to remove a column deliminated by mixed delimeters?
我有一个包含 100,000 行的 table。格式是这样的:
abc '\t' gi| a b c d e
abc 列由制表符分隔,而其他列由 space.I 分隔想要删除列 'gi|' 并保留所有其他列。我试过使用制表符或 |作为我的分隔符,但效果不佳。有什么想法吗?
您可以使用 awk 的 sub
函数。
awk '{sub(/.*/,"",)}1' file
或
只需为第 2 列变量赋一个空值。
awk '{=""}1' file
为什么不简单地忽略这些字段?
sed 's/\t[^\t ]* /\t/' file
将删除第一个制表符之后的文本,直到 space。
我有一个包含 100,000 行的 table。格式是这样的:
abc '\t' gi| a b c d e
abc 列由制表符分隔,而其他列由 space.I 分隔想要删除列 'gi|' 并保留所有其他列。我试过使用制表符或 |作为我的分隔符,但效果不佳。有什么想法吗?
您可以使用 awk 的 sub
函数。
awk '{sub(/.*/,"",)}1' file
或
只需为第 2 列变量赋一个空值。
awk '{=""}1' file
为什么不简单地忽略这些字段?
sed 's/\t[^\t ]* /\t/' file
将删除第一个制表符之后的文本,直到 space。