use*_*587 4 unix linux perl awk sed
我需要做一些类似于这篇文章的事情(但有一点扭曲).这就是我要问的原因.
我有一本字典(dict.txt).它是空格分隔的,它的内容如下:
V7动量
B6广达
....
(在某种意义上,第一列是键,第二列是值)
我有一个用户文件(user.txt),它包含键的出现(V7,B6等).扭曲是键不在其自己的列中(因此上述帖子中的方法不适用).
用户文件(user.txt)可以作为字符流查看.我只想替换所有出现的键(例如,V7),无论它们是由空间限制还是由字典中查找的值(Momentum)限制其他字符.
例如:
"我们有V7作为输入" - >应该改为 - >"我们有动量作为输入"
"我们有一些东西_7输入" - >应该改为 - >"我们有一些东西 - 输入"
用法:awk -f foo.awk dict.dat user.dat
http://www.gnu.org/software/gawk/manual/html_node/String-Functions.html
http://www.gnu.org/software/gawk/manual/html_node/Arrays.html
NR == FNR {
rep[$1] = $2
next
}
{
for (key in rep)
gsub(key, rep[key])
print
}
Run Code Online (Sandbox Code Playgroud)