为了澄清,我正在寻找一种方法来执行全局搜索并替换上一个使用的命令.^word^replacement^似乎只是取代了第一场比赛.
有什么set选择可以逃避我吗?
我正在使用Zsh并尝试为项目运行git show以查看我的修订历史记录.如果我做
git show HEAD
Run Code Online (Sandbox Code Playgroud)
它工作正常,显示我上次提交,但以下命令不起作用
[master?5?]:~/project $ git show HEAD^
zsh: no matches found: HEAD^
[master?5?]:~/project $ git show HEAD^^
zsh: no matches found: HEAD^^
Run Code Online (Sandbox Code Playgroud)
但这确实有效
git HEAD~1
Run Code Online (Sandbox Code Playgroud)
我在这里做错了git show HEAD^^吗?
git版本1.7.4.5
有没有办法在linux中更改以前的命令?我正在使用复制一堆文件
cp path/to/source1 path/to/target2
Run Code Online (Sandbox Code Playgroud)
我想把它改成
cp path/to/source2 path/to/target2
Run Code Online (Sandbox Code Playgroud)
所以我想用2替换1
我知道我可以把它放在一个循环中,但我需要在检查笔记本中的内容之后这样做.
我想知道用于纠正先前执行的命令中的错误的最短命令。
鉴于我执行了以下命令
cd /Users/USERNAME/Library/Preferences/ByHost
我希望能够执行一个新命令,该命令采用上一个命令,通过管道grep或类似的 Unix 工具将其传输,然后执行。在(我公认的未受过教育的)伪命令中是这样的。
!! | xargs 's/$1/USERNAME/cirrostratus/g'
该命令将执行cd /Users/cirrostratus/Library/Preferences/ByHost。
或者,管道一个字符串,搜索和替换它并在一行中执行将是我的第二选择。