使用sed清除文件内容的脚本

时间:2015-01-21 08:27:09

标签: bash shell unix sed

我正在尝试使用sed从文件中删除几行(即1天之前),但在执行脚本时会出错。

可能导致上述错误的原因是什么?有人可以帮忙吗?

~]# ./test.sh

Jan 20
36
sed: -e expression #1, char 3: unexpected `,'

这是脚本:

month=$(date --date="1 day ago" | cut -d " " -f2,3)

echo $month

line=$(grep -n "$month" test.log | cut -d : -f 1 | tail -1)

echo $line

if [ ! -z "$line" -a "$line" != " " ];

then

sed -i '1,"$line"d' test.log

#echo "sed -i '1,"$line"d' test.log"

else

exit

fi

1 个答案:

答案 0 :(得分:3)

我建议您将sed行改为

sed -i '1,'"$line"'d' test.log
          ^       ^        
          |       |