我试图执行以下操作。在列中查找模式并将其替换为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
有人可以帮我吗?
我试图执行以下操作。在列中查找模式并将其替换为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
有人可以帮我吗?
使用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
@ClaesWikner:嗯,我想专门检查$ 2而不是$ 0。 – batMan
您可以使用sed
:
sed 's/\(.*\), undefined$/\1, \1/' file.txt
或
sed -r 's/(.*), undefined$/\1, \1/' file.txt
这条线适用于你的榜样,不管分隔符是,
或,(space)
awk -F, '1+sub(/undefined$/,$1)' file
你有什么试过的? – batMan