相关疑难解决方法(0)

在Bash shell中搜索并替换

如果我刚刚在Bash中输入以下命令:

echo foo
Run Code Online (Sandbox Code Playgroud)

我可以输入以下命令将foo更改为bar:

^foo^bar
Run Code Online (Sandbox Code Playgroud)

这导致执行以下命令:

echo bar
Run Code Online (Sandbox Code Playgroud)

现在,如果我输入:

echo foo foo
Run Code Online (Sandbox Code Playgroud)

有没有办法只使用caret(^)运算符将foo的两个实例更改为bar ?

另外,shell运营商的手册页是否有^man ^导致"没有手动输入^".

bash

48
推荐指数
4
解决办法
1万
查看次数

在 bash 中无需按 ctrl+r 即可触发反向搜索的替代方法

bash 中的 reverse-i-search 工具很有用,但它与大多数其他 bash 命令不同,它似乎绑定到键绑定 ( Ctrl+ R)。用户如何使用别名或键入的命令来触发此功能?

bash search history keyboard-shortcuts

3
推荐指数
2
解决办法
4114
查看次数

在linux中更改上一个命令

有没有办法在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

我知道我可以把它放在一个循环中,但我需要在检查笔记本中的内容之后这样做.

linux bash command-line

3
推荐指数
1
解决办法
115
查看次数

命令行 - 替换上一个命令中的字符串并执行

我想知道用于纠正先前执行的命令中的错误的最短命令。

鉴于我执行了以下命令
cd /Users/USERNAME/Library/Preferences/ByHost

我希望能够执行一个新命令,该命令采用上一个命令,通过管道grep或类似的 Unix 工具将其传输,然后执行。在(我公认的未受过教育的)伪命令中是这样的。
!! | xargs 's/$1/USERNAME/cirrostratus/g'

该命令将执行cd /Users/cirrostratus/Library/Preferences/ByHost

或者,管道一个字符串,搜索和替换它并在一行中执行将是我的第二选择。

regex bash shell grep

1
推荐指数
1
解决办法
617
查看次数

标签 统计

bash ×4

command-line ×1

grep ×1

history ×1

keyboard-shortcuts ×1

linux ×1

regex ×1

search ×1

shell ×1