我想复制到这样的剪贴板
$ command1
$ command2
如果您运行历史记录,您将以相反的顺序获取命令,因此我想从尾部跳过多行,并用'$'替换输入行号。您可能怀疑在必须记录工作流程或编写文档时这是一个非常有用的简写。
示例:
$ 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
答案 0 :(得分:2)
分配$ 1有效,但会留下前导空格
history | awk '{$1=""; print}'
如果要将其复制到剪贴板,可以使用xclip
history | awk '{$1=""; print}' | xclip
答案 1 :(得分:1)
也许你可以使用这些;
history | tac | awk 'NR>1&&NR<=3 {$1="$";print $0}'
tac - 反向连接和打印文件
NR<=3
:表示历史之前的最后两个命令。
NR>1
:删除历史记录中的历史命令
$1="$"
:将行号替换为$
测试:
$ echo first
first
$ echo second
second
$ history | tac | awk 'NR>1&&NR<=3 {$1="$";print $0}'
$ echo second
$ echo first