【发布时间】:2021-12-06 08:22:13
【问题描述】:
我正在寻找一个脚本,它可以帮助我在 bash 和 sed 命令的帮助下搜索具有扩展名 (.bak.alt) 的文件,然后更改文件的名称,如果它不存在的话.我的意思是搜索(*.bak.alt *.BAK.alt *.bak) 并用 (*.BAK) 替换它,如果它不存在并且应该在将它与旧的更改后比较新的然后做出反应,
如果它的内容和名称相同,则什么都不做,否则就改变它。
我在朋友的帮助下想出了一些东西,但它并不完整。
#!/bin/bash
echo " Finds something.."
find . -type f \( -name "*.bak.alt" \) > F1.txt
cat F1.txt
find . -type f \( -name "*.BAK.alt" \)> F2.txt
cat F2.txt
if diff F1.txt F2.txt
then echo "everythings looks good":
else
sed -E 's/^\(.*)\.(bak|BAK)\.alt$/mv "&" "\1.BAK"/;e'| wc -l echo " Files changed "
fi
【问题讨论】: