在反向搜索历史记录期间,在相似的命令中缩小到所需命令的最佳技巧是什么

在反向搜索历史记录期间,在相似的命令中缩小到所需命令的最佳技巧是什么

我有几行代码,它们看起来都很相似。下面举一些例子

gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
gmx trjconv -s md_0_11.tpr -f md_0_11.xtc -o md_0_11_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o md_0_11_fit.xtc -fit rot+trans
gmx trjconv -s md_0_12.tpr -f md_0_12.xtc -o md_0_12_center.xtc -center -pbc mol -ur compact
gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o start.pdb -dump 0
gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o md_0_12_fit.xtc -fit rot+trans

所以本质上使用Control+R只是缩小到这堆相似的行。但本质上我将不得不避开这些相似的线条来缩小到最后一行的范围。我正在想一些技巧。

echo 10step1 | gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
echo 10step2 | gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
echo 10step3 | gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
echo 11step1 | gmx trjconv -s md_0_11.tpr -f md_0_11.xtc -o md_0_11_center.xtc -center -pbc mol -ur compact
echo 11step2 | gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o start.pdb -dump 0
echo 11step3 | gmx trjconv -s md_0_11.tpr -f md_0_11_center.xtc -o md_0_11_fit.xtc -fit rot+trans
echo 12step1 | gmx trjconv -s md_0_12.tpr -f md_0_12.xtc -o md_0_12_center.xtc -center -pbc mol -ur compact
echo 12step2 | gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o start.pdb -dump 0
echo 12step3 | gmx trjconv -s md_0_12.tpr -f md_0_12_center.xtc -o md_0_12_fit.xtc -fit rot+trans

运行这些代码一次后。为了再次重新运行代码,我使用Control + R反向搜索,然后输入字符串10step112 step3

我想问一下是否还有其他技巧可以使这个过程在快速搜索和缩小所需行范围时更加有效

我也经历过类似的历史搜索相关问题在其他帖子中,但它们是一般性的,不处理通过类似代码行导航的问题。

答案1

Realine 提示能够向前搜索

或者,您可以在 .bashrc 中定义搜索函数,例如

function r {
   history | grep "$*" | head -5
}

答案2

我已经设置了我的 inputrc (也可以仅为 .bashrc 定义),以便向上和向下箭头搜索历史记录,而不仅仅是显示下一个或上一个历史记录。这样,向上/向下箭头命令的行为就像 FreeBSD 上的默认命令一样。

这是 inputrc 片段:

# mappings for Up/Down arrow to search through history
"\e[A": history-search-backward
"\e[B": history-search-forward

其具体作用是,如果您在提示符下键入以下内容:

echo 11

然后按向上箭头,它将循环浏览以“echo 11”开头的命令的历史记录。

对我来说,这更加直观,它使您可以输入命令的开头以及仅针对该狭窄选择的循环历史记录。

如果您与简单的按键结合起来切到行尾,或者一次切一个单词,您可以使用向上/向下箭头历史记录获得一些非常强大的搜索/浏览选项。

希望这可以帮助!

相关内容