我想知道如何/如果我可以从我的terminal历史logging,但在一个修改后的版本中重用一个命令。 这是一个例子:
$ filter_script file2 > output_file2 $ # ... # now run the same command, but replace '2' with '4' $ filter_script file4 > output_file4
这是一个非常简单的例子,当然我可以简单地从历史中访问命令并手动replace这两个2
,但有没有更优雅的方式?
非常感谢您的时间!
如果只有一个你想替换的实例, bash(1)
首先在csh(1)
引入了一个简单的特性:
^old^new
将用new
替换old
的第一个实例:
$ filter_script file2 > output_file2 $ ^2^4 filter_script file4 > output_file2
如果要替换所有实例,则需要更多的输入:
$ filter_script file2 > output_file2 $ !:gs/2/4/ filter_script file4 > output_file4
g
指定命令行上的全局替换。 那!
指的是从历史中的一条线 – 如果您想从历史上的前一条命令中回溯一条命令,则可能更具体。 参见bash(1)
关于Event Designators
的部分。