我想知道如何/如果我可以重用我的终端历史记录中的命令,但是在修改后的版本中.这是一个例子:
$ filter_script file2 > output_file2
$ # ...
# now run the same command, but replace '2' with '4'
$ filter_script file4 > output_file4
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的例子,当然我可以简单地从历史记录中访问命令并手动替换两个2s,但是有更优雅的方式吗?
非常感谢你的时间!
sar*_*old 13
如果只有一个实例可以替换它,那么bash(1)首先要介绍一个简单的功能csh(1):
^old^new
Run Code Online (Sandbox Code Playgroud)
将更换的第一个实例old有new:
$ filter_script file2 > output_file2
$ ^2^4
filter_script file4 > output_file2
Run Code Online (Sandbox Code Playgroud)
如果要替换所有实例,则需要更多输入:
$ filter_script file2 > output_file2
$ !:gs/2/4/
filter_script file4 > output_file4
Run Code Online (Sandbox Code Playgroud)
在g指定的全局命令行更换.该!指的是从历史上的线-这可能是更具体的,如果你想从更久远的历史表明前前面的命令拉的命令.参见bash(1)章节Event Designators.
| 归档时间: |
|
| 查看次数: |
549 次 |
| 最近记录: |