awk/gsub - 在 gsub 之前、之后、之后显示字符串
awk/gsub - display string before, then after, then before gsub
仅供参考,我是一个 awk/gsub 菜鸟。
我有一个 svn 转储,我正在尝试从中创建一个 users.txt,格式...
user.name = user name <user.name@foo.com>
这是我要去的地方...
awk '/svn:author/ { getline; getline; gsub("[\.]", " ", ); print [=12=], " = ", , " <", [=12=], "@foo.com>"}' svn_dmp | sort | uniq
不幸的是,它正在更改 [=14=]
的值并删除所有 .
所以我得到...
mr foo = mr foo <mr foo@foo.com>
我希望 gsub
将新字符串写入 </code> 并保留 <code>[=14=]
。如何仅在中间 mr.foo
将点换成 space?
[=11=]
是整行,其中包括 </code>,因此当您更改 <code>
时,您也会更改 [=11=]
的那部分。如果你想保留原来的 [=11=]
你需要在修改 </code> 之前将它保存在另一个变量中。 </p>
<p>类似</p>
<pre><code>$ echo 'mr.foo' | awk '{orig=[=10=]
gsub("[\.]", " ", )
print orig " = " " <" orig "@foo.com>"}'
mr.foo = mr foo <mr.foo@foo.com>
仅供参考,我是一个 awk/gsub 菜鸟。
我有一个 svn 转储,我正在尝试从中创建一个 users.txt,格式...
user.name = user name <user.name@foo.com>
这是我要去的地方...
awk '/svn:author/ { getline; getline; gsub("[\.]", " ", ); print [=12=], " = ", , " <", [=12=], "@foo.com>"}' svn_dmp | sort | uniq
不幸的是,它正在更改 [=14=]
的值并删除所有 .
所以我得到...
mr foo = mr foo <mr foo@foo.com>
我希望 gsub
将新字符串写入 </code> 并保留 <code>[=14=]
。如何仅在中间 mr.foo
将点换成 space?
[=11=]
是整行,其中包括 </code>,因此当您更改 <code>
时,您也会更改 [=11=]
的那部分。如果你想保留原来的 [=11=]
你需要在修改 </code> 之前将它保存在另一个变量中。 </p>
<p>类似</p>
<pre><code>$ echo 'mr.foo' | awk '{orig=[=10=]
gsub("[\.]", " ", )
print orig " = " " <" orig "@foo.com>"}'
mr.foo = mr foo <mr.foo@foo.com>