当使用变量时,如何使用sed省略第一行的读取?

时间:2017-09-14 11:52:31

标签: bash sed

我想根据时间戳读取数据。检查输入文件的第一行,如果它与$ timestamp匹配,则删除高于获得的最大时间戳的行。我使用下面的命令,但在我的sed命令中抛出错误,我为删除$ timestamp之前获得的行而编写。我哪里错了?

timestamp=`(exec mysql db -u xxx -pxxx -s -N -e "select max(time) from table;")`

sed -e '1/"$timestamp"/d' /home/xx/xx

1 个答案:

答案 0 :(得分:0)

我想你想要做的是,检查输入文件的第一行,如果它与$timestamp匹配,删除该行,如果它不匹配,则不对文件执行任何操作。

您的sed代码错误,请阅读一些教程。这一行应该有效:

sed "1{/$timestamp/d}" /home/whatever