我有一个由两列组成的大文件(> 1000行),我需要处理其他文件,以将第一列中的出现次数更改为第二列中的发生次数。
有没有一种方法可以让sed自动遍历第一列中的每个元素并将其更改为第二列,而无需为每个同义词分别手动键入s /../../ g sed命令桌子?
我可以遍历同义词表中的每一行,并自动为每个文件的(同义词)行填充一个sed命令,但这可能效率不高。
答案 0 :(得分:1)
如果要使用已知的列分隔符解析按列内容,则使用awk
效率更高。我认为是您的要求
awk '{ $1 = $2 }1' file
是您所需要的。这是假设各列之间又被一组空白隔开。如果您的Awk版本低于4.1.2,在此之前没有可用的就地编辑选项支持(例如-i
的{{1}}),请使用一个临时文件进行重定向
sed