我有3个文件: 1包含要检查的字符串列表 2包含新价格 3包含如果文件#2中的价格发生变化则需要更换的价格
示例:
文件#1 ITEM1 ITEM2
文件#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
答案 0 :(得分:0)
#!/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
这照顾你给的情况。它可以概括。