如何让sed自动通过(长)同义词表运行?

时间:2019-03-25 11:28:02

标签: sed

我有一个由两列组成的大文件(> 1000行),我需要处理其他文件,以将第一列中的出现次数更改为第二列中的发生次数。

有没有一种方法可以让sed自动遍历第一列中的每个元素并将其更改为第二列,而无需为每个同义词分别手动键入s /../../ g sed命令桌子?

我可以遍历同义词表中的每一行,并自动为每个文件的(同义词)行填充一个sed命令,但这可能效率不高。

1 个答案:

答案 0 :(得分:1)

如果要使用已知的列分隔符解析按列内容,则使用awk效率更高。我认为是您的要求

awk '{ $1 = $2 }1' file

是您所需要的。这是假设各列之间又被一组空白隔开。如果您的Awk版本低于4.1.2,在此之前没有可用的就地编辑选项支持(例如-i的{​​{1}}),请使用一个临时文件进行重定向

sed