0
仅供参考,我是一个awk/gsub noob。awk/gsub - 显示字符串之前,然后之前,然后之前gsub
我有一个SVN转储我想要创建,格式users.txt ...
user.name = user name <[email protected]>
这里就是我得...
awk '/svn:author/ { getline; getline; gsub("[\.]", " ", $1); print $0, " = ", $1 , " <", $0, "@foo.com>"}' svn_dmp | sort | uniq
不幸的是,它正在改变$0
值,并移除所有.
,所以我得到...
mr foo = mr foo <mr [email protected]>
我希望gsub
会将新字符串写入$1
并保留$0
。如何仅在中间的mr.foo
中交换点的空间?
'$ 0'是整条生产线,其中包括'$ 1',所以当你改变'$ 1'你改变的'$ 0'这部分也是如此。 – jas
在使用它之前,请务必阅读并完全理解关于getline的所有警告和gothcas,然后通常您不会。无论如何,你的问题不需要getline,你使用它的方式是错误的。发布几行样本输入和预期输出,我们可以帮助您。 –