2017-10-18 67 views
0

我试图执行以下操作。在列中查找模式并将其替换为awk

我试图把列1时,我发现,这将是“不确定”的模式,例如:

我有一个包含

192.168.1.1, Paul 

192.168.2.2, undefined 

这里我file.txt的文件,它是“未定义“,然后将其替换为”未定义“行中的第一列。 (192.168.2.2)

192.168.1.1, Paul 

192.168.2.2, 192.168.2.2 

有人可以帮我吗?

+0

你有什么试过的? – batMan

回答

1

使用AWK

$ awk -F", " '$2~/undefined/{ print $1 FS $1; next}1' file 
192.168.1.1, Paul 

192.168.2.2, 192.168.2.2 
+0

@ClaesWikner:嗯,我想专门检查$ 2而不是$ 0。 – batMan

0

您可以使用sed

sed 's/\(.*\), undefined$/\1, \1/' file.txt 

sed -r 's/(.*), undefined$/\1, \1/' file.txt 
0

这条线适用于你的榜样,不管分隔符是,,(space)

awk -F, '1+sub(/undefined$/,$1)' file