没有命令编号的历史命令

时间:2014-08-30 08:42:36

标签: bash grep history cut .bash-profile

我正在尝试创建一个函数来添加到我的bash_profile文件中,以便能够从历史记录中提取命令列表,然后删除给定的单词并删除命令的数量。问题是我可以像这样直接做到这一点

$history | grep tar | cut -c 8-

但是当我用这个

将它放入bash_profile的函数中时
function hrep() {
    history | grep $1 | cut -c 8-
}

它没有考虑cut命令。它打印出grepped命令,但它不会修剪命令编号。

你知道我错过了什么吗? 非常感谢提前, Juanpe。

1 个答案:

答案 0 :(得分:0)

我宁愿使用正则表达式而不是使用cut来删除特定数量的字符。你的历史可以远远超过一千行 (通常正则表达式应该是正确的)

hrep() {
    history | grep $1 | sed 's/^[ ]*[0-9]*[ ]*//g'
}