- 帖子
- 638
- 积分
- 1253
- 技术
- 1
- 捐助
- 0
- 注册时间
- 2012-7-1
|
[其他] 【已解决】gawk:文件内容批量替换,如何将替换文件放第一个处理
本帖最后由 思想之翼 于 2023-8-25 00:20 编辑
字典文件e:\字典.txt,记录数值为:
A=X Y Z
B=Y Z
C=Z
替换文件e:\替换.txt,记录数值为:
A
C
输出文件e:\输出.txt,记录数值为:
X Y Z
Z
实现上述替换,代码如下:
gawk -F"=" "NR==FNR{A[$1]=$2;next}{print A[$0]}" e:\字典.txt e:\替换.txt>e:\输出.txt
【问题】
若将替换文件放第一个处理,即 e:\替换.txt e:\字典.txt>e:\输出.txt,上述gawk代码如何修改?
【解答】有误
gawk -F"=" "ARGIND>1{if(b[$1]){a[ARGIND]=a[ARGIND]==\"\"?$2:a[ARGIND] \"\n\" $2;next}}{b[$0]++}END{for(i=2;i<=ARGIND;i++){ if(a){f=ARGV;print(a)}}}" e:\替换.txt e:\字典.txt>e:\输出.txt |
-
1
评分人数
-
|