【发布时间】:2016-04-27 08:32:56
【问题描述】:
我的问题是: 我有文件 1:
3119
3359
1359
...
和文件2
2222 abc
3359 def <---- this is a match
4444 ghi
...
我想修改文件 1 中的索引在文件 2 中的每一行,方法是为字符串添加前缀。结果将是:
2222 abc
3359 PREFIXdef <---- this is a match
4444 ghi
...
我想出了这个解决方案:
sed `cat file1.txt | awk '{print "-e s/"$1"/"$1"PREFIX./"}'`<<<"`cat file2.txt`"
这给出了这个结果:
2222 abc
3359PREFIX def <---- this is a match
4444 ghi
...
如何在 PREFIX 之前添加一个空格并在之后删除一个?我有一个错误 (命令未终止)
理想情况下,我会在 's/xx / xx' 周围添加 2 个撇号:
sed `cat file1.txt | awk '{print "-e 's/"$1" /"$1" PREFIX./'"}'`<<<"`cat file2.txt`"
但我无法逃脱''!!!
【问题讨论】:
-
我强烈建议您阅读 Arnold Robbins 的《Effective Awk Programming, 4th Edition》一书,然后再尝试任何文本操作。