Awk 将终端中的最后n个命令复制到剪贴板

Awk 将终端中的最后n个命令复制到剪贴板,awk,sed,grep,Awk,Sed,Grep,我想把这样的东西复制到剪贴板 $ command1 $ command2 如果您运行history,您将以相反的顺序获得命令,因此我只想从尾部跳过一些行,并将输入行号替换为“$”。正如您可能怀疑的那样,当您必须记录工作流或编写文档时,这是一种非常有用的速记方法 例如: $ history 1340 pass 1341 pass insert m clouds/cloud9 1342 pass insert -m clouds/cloud9 1343 sudo service

我想把这样的东西复制到剪贴板

$ command1
$ command2
如果您运行history,您将以相反的顺序获得命令,因此我只想从尾部跳过一些行,并将输入行号替换为“$”。正如您可能怀疑的那样,当您必须记录工作流或编写文档时,这是一种非常有用的速记方法

例如:

$ history

 1340  pass
 1341  pass insert m clouds/cloud9
 1342  pass insert -m clouds/cloud9
 1343  sudo service docker start
 1344  history
那么,如何将其转化为:

$ sudo service docker start
$ pass insert -m clouds/cloud9
...etc

分配$1有效,但会留下一个前导空间

history | awk '{$1=""; print}'
如果要将其复制到剪贴板,可以使用xclip

history | awk '{$1=""; print}' | xclip

分配1美元的作品将获得奖励,但会留下领先的空间

history | awk '{$1=""; print}'
如果要将其复制到剪贴板,可以使用xclip

history | awk '{$1=""; print}' | xclip

功劳归于

也许你可以使用这些

 history | tac | awk 'NR>1&&NR<=3  {$1="$";print $0}'

也许你可以用这些

 history | tac | awk 'NR>1&&NR<=3  {$1="$";print $0}'

您知道
tac
命令吗?还有其他问题吗?我以前没用过。谢谢您知道
tac
命令吗?还有其他问题吗?我以前没用过。谢谢