【发布时间】:2020-02-18 18:41:16
【问题描述】:
示例输入:
a:g:h:e:f:n
a:u:r:t:w:r
a:g:r:o:p:q
d:h:t:y:r:o
d:n:t:s:d:f
d:g:h:u:i:m:
d:s:e:r:t:y
n:m:k:s:t:r
n:r:t:y:w:g
预期输出:
a:g:h:e:f:n
":u:r:t:w:r
":g:r:o:p:q
d:h:t:y:r:o
":n:t:s:d:f
":g:h:u:i:m:
":s:e:r:t:y
n:m:k:s:t:r
":r:t:y:w:g
用“替换第一列重复项,直到找到不同的值。这是我发现的接近的东西,但替换是跨文件的:
awk '{for(i=1;i<=NF;i++){if(x<27&&$i=="old"){x++;sub("old","new",$i)}}}1' input_file
【问题讨论】:
-
请同时添加您尝试解决此问题的内容..
-
awk '{for(i=1;i 这是我发现接近的东西,但替换是跨文件
-
输入是否总是按示例中所示的第一列排序?
-
@Sundeep 是的,仅限于第一列
-
"作为替换值是一个奇怪的选择!