如何复制命令控制台文本?

如何复制命令控制台文本?

我使用了 wpa_passphrase 命令并得到了如下结果:

网络={ssid="blahblah" #psk="moreblahblah" psk=d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661}

我需要将“psk=[long string]”复制到我的 wpa_supplicant.conf 文件中。我该如何选择它以进行复制?然后我该使用什么命令来复制它?这样我就可以在我最喜爱的文本编辑器中按粘贴命令来粘贴它?(注:我没有鼠标)

答案1

如果您有触摸板,请突出显示文本并按Ctrl+ Shift+C复制...

以下资源描述了如何仅使用键盘进行复制/粘贴--screen/byobu:

如何将 Byobu 的复制缓冲区与 X 剪贴板集成?

http://www.samsarin.com/blog/2007/03/11/gnu-screen-working-with-the-scrollback-buffer/

在滚动回放模式下复制和粘贴(屏幕/byobu)

  • 进入回滚模式:Ctrl++或者在 byobu 中也可以A[F7
  • 将光标移动到要复制的文本的开头,点击spacebar
  • 将光标移动到要复制的文本末尾并点击enter
  • 要粘贴文本,请按Ctrl+ A+]Alt+Insert

答案2

尝试这个:

wpa_passphrase | awk '/psk/ {print $4}' >> wpa.supplicant.conf

命令应删除“psk=d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661”部分并将其复制到 wpa.supplicant.conf 文件的末尾。如果您没有获得 wpa_passphrase 命令的正确部分,请尝试更改$4$3或。$2

答案3

可能不完美,但是一种解决方法。也许您可以将输出写入文件中,然后进入文件删除不必要的文本,然后cat将其附加到 wpa_supplicant.conf

基本上你的工作流程是:

command > rough

nano rough这里删除不必要的文本,只保留必要的文本,即 psk

sudo sh -c "cat rough >> wpa_supplicant.conf"

或者您可以使用 vim 在可视模式下选择所需的文本。

PS 我认为对 sed 有深入了解的人会给你一个比这更简单的解决方案。

答案4

下一个 sed 命令将从输出中获取密钥(由十六进制集中的字符组成)wpa_passphrase并将其放入临时文件中pass

wpa_passphrase | sed 's/.*psk=\([0-9a-f]*\).*/\1/' > pass

由于您没有鼠标,因此无法直接选择并复制它。我们将使用nano文本编辑器插入此通行证:

nano wpa_suppliciant.conf

使用箭头键移动到所需位置,然后按Insert。输入刚刚创建的文件的名称,然后按 Enter。按+pass退出并保存结果,然后输入 确认。CtrlXYEnter

相关内容