从历史中得到一条特别的线索,bash

从历史中得到一条特别的线索,bash,bash,sed,awk,grep,Bash,Sed,Awk,Grep,在Bash中如何获得历史中的第78行 就像我知道我可以做一些事情一样: history|grep 78|\ awk'{idex=2;而(idex要从bash中的历史记录中获取第78行,请运行以下命令: !78 要从bash的历史记录中获取第78行,请运行以下命令: !78 修改器将打印任何历史扩展,而不是执行它 !78:p p修饰符将打印任何历史扩展,而不是执行它 !78:p 如果您绝对希望使用sed和history命令(例如,在行首添加一个“#”,以确保字符串的任何操作),或者在ksh中,

在Bash中如何获得历史中的第78行

就像我知道我可以做一些事情一样:

history|grep 78|\

awk'{idex=2;而(idex要从bash中的历史记录中获取第78行,请运行以下命令:

!78

要从bash的历史记录中获取第78行,请运行以下命令:

!78

修改器将打印任何历史扩展,而不是执行它

!78:p

p
修饰符将打印任何历史扩展,而不是执行它

!78:p
如果您绝对希望使用sed和history命令(例如,在行首添加一个“#”,以确保字符串的任何操作),或者在ksh中,
!78:p
不起作用


如果您绝对希望使用sed和history命令(例如,在行首添加一个“#”,以保护字符串的任何操作),或者在ksh中,
!78:p
不起作用

您将得到它…并执行它!!当然careful@fedorqui这就是想法:P(我能想到我想从历史中得到一条线索的任何其他原因…)哦,我明白你的意思了。你是说我最好在输入
之前确定这是我想要的那一行。想象一下你在
/tmp/mytest
中做了
rm-rf*
,然后你在
//code>中运行它。我想象它会产生一个巨大的脸掌:D@fedorqui你知道有什么办法吗在不执行X行的情况下验证X行是我想要的吗?我的意思是,我能想到的唯一一件事是grep命令,比如
history | grep npm
是的,你也可以做
history | awk'$1==number'
。它会显示命令。如果你非常确定它是你想要的,那么就做
!number
。顺便说一下,做吧你知道你也可以做
!!
来执行上一个命令吗?你会得到它…并执行它!!所以就这样吧careful@fedorqui这就是我的想法:P(我能想到我想从历史中得到一条线索的任何其他原因…)哦,我明白你的意思了。你是说我最好在输入
之前确定这是我想要的那一行。想象一下你在
/tmp/mytest
中做了
rm-rf*
,然后你在
//code>中运行它。我想象它会产生一个巨大的脸掌:D@fedorqui你知道有什么办法吗在不执行X行的情况下验证X行是我想要的吗?我的意思是,我能想到的唯一一件事是grep命令,比如
history | grep npm
是的,你也可以做
history | awk'$1==number'
。它会显示命令。如果你非常确定它是你想要的,那么就做
!number
。顺便说一下,做吧您知道您也可以执行
!!
来执行上一个命令吗?
history | sed -n "`78 {s/^ *[0-9]\{1,\}[[:space:]]*\([^ ]\)/\1/p;q;}"