如何" cut" "低于"来自" diff"输出?

时间:2014-09-18 08:02:48

标签: bash grep diff

如何剪切最后一个“<” ? 这是我的输出:

#20 17 03 45 * root bash /media/data/loop.sh <

这是我的命令

diff filecron filecrontmp | grep "<" | head -n 1

我只想要#20 17 03 45 * root bash /media/data/loop.sh输出。 我应该再次管道什么命令?我试过xargs但没有任何事情发生。

2 个答案:

答案 0 :(得分:0)

你可以试试下面的sed命令,

$ echo '#20 17 03 45 * root bash /media/data/loop.sh <' | sed 's/ [^ ]*$//'
#20 17 03 45 * root bash /media/data/loop.sh

它将删除最后一个空格和以下字符。所以你的命令就是,

diff filecron filecrontmp | grep "<" | head -n 1 | sed 's/ [^ ]*$//'

答案 1 :(得分:0)

使用BASH字符串操作:

s='#20 17 03 45 * root bash /media/data/loop.sh <'
echo "${s%<*}"
#20 17 03 45 * root bash /media/data/loop.sh