gpt4 book ai didi

linux - 比较两个文件中相同字符串的 grep 输出

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:41 27 4
gpt4 key购买 nike

我有3个文件:1 包含要检查的字符串列表2 包含新价格3 包含如果文件 #2 中的价格发生变化则需要替换的价格

示例:

文件 #1 项目1 项目2

文件#2

item1cost100
item2cost200

文件# #3

item1cost101
item2cost199

运行脚本后,文件 #3 应该被更新

文件# #3

item1cost100
item2cost200

文件 #2 和 #3 包含很多条目,但只需要检查文件 #1 中的条目,如果不同则写入文件 #3

我只比较了两个文件的 1 个字符串,我不确定如何循环文件 #1 的内容以及如何将更改写入文件 #3我开始使用 sed 命令并陷入困境,不知道如何解开变量

这是我得到的

item="item1"
itemold=$(cat file2 | grep item1)
echo $itemold
itemnew=$(cat file3 | grep item1)
echo $itemnew
echo $item
if [ $itemold = $itemnew ]; then
echo "MATCH!"
else
echo "NO MATCH!"
fi

最佳答案

#!/bin/bash
cut -d' ' -f1 file1 > a
grep `cat a` file2 > b
grep `cat a` file3 > c
sed s/`cat c`/`cat b`/g file3 > d
cut -d' ' -f2 file1 > a
grep `cat a` file2 > b
grep `cat a` file3 > c
sed s/`cat c`/`cat b`/g d > file3

这会处理您提供的案例。这是可以概括的。

关于linux - 比较两个文件中相同字符串的 grep 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com