Linux终端中如何修改多行命令的内容?
直接在终端修改cURL命令的Referer地址
我完全懂这种反复切换编辑器和终端的烦躁!每次要改cURL里的Referer都得打开Gedit改完再复制回来,确实太折腾人了。这里有几个能让你全程在终端搞定的方法:
利用终端历史命令直接编辑
几乎所有主流终端都支持按Ctrl+R搜索历史中的cURL命令,找到目标命令后,你可以用Ctrl+A快速跳到命令开头,Ctrl+E跳到结尾,或者直接用方向键定位到Referer字段的位置,直接修改地址内容,改完回车就能执行,完全不用碰外部编辑器。用sed快速替换Referer地址
假设你之前执行的cURL命令是这样的:curl -H "Referer: https://old-example.com" https://target-site.com可以用sed直接替换历史命令里的旧Referer地址,一键执行修改后的命令:
history | grep curl | tail -n 1 | sed 's/https:\/\/old-example.com/https:\/\/new-example.com/' | bash这条命令会抓取最近一次的cURL命令,替换其中的旧Referer地址,然后直接执行修改后的命令。
把命令存为变量后修改执行
先把目标cURL命令赋值给一个变量:MY_CURL_CMD='curl -H "Referer: https://old-example.com" https://target-site.com'然后用字符串替换修改Referer地址:
MY_CURL_CMD=${MY_CURL_CMD//old-example.com/new-example.com}最后执行修改后的命令:
$MY_CURL_CMD
这些方法都能帮你省去切换编辑器的麻烦,全程在终端完成修改和执行!
内容的提问来源于stack exchange,提问作者Iman Amani
相关产品推荐
相关产品推荐

