云网牛站
所在位置:首页 > Linux命令 > 显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

2019-08-21 11:10:59作者:高出稿源:云网牛站

Bash历史文件(~/.bash_history)会记录你在终端中运行的所有命令,我们可以使用history命令查看终端中最近执行的命令列表,当你查看历史记录时,你应该注意到每个命令都有一个前缀号(行号),此前缀号可帮助你从历史记录中查找和删除特定命令条目,但是,你知道我们可以从历史命令的输出中省略这些数字吗?本教程介绍在Linux上显示没有行号的Bash历史记录。

 

显示没有行号的Bash历史记录

运行history命令时,你将看到如下所示的输出:

$ history

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

如你所见,历史记录中的每个条目都带有前缀编号,如果你不想显示行号,可以通过以下几种方法进行操作。

 

方法1、显示~/.bash_history文件的内容

这是显示没有行号的Bash历史记录的最简单方法:

$ cat ~/.bash_history

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

参考:cat命令_Linux cat命令使用详解:连接文件并打印到标准输出设备上

 

方法2、使用history命令

我们可以使用history命令的写入选项打印历史记录:

$ history -w /dev/stdout

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

如果要将输出写入文本文件,比如history.txt,只需运行:

$ history -w history.txt

 

方法3、使用history和cut命令

另一种方法是使用history和cut命令,如下所示。

$ history | cut -c 8-

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

看到上图了吗?没有行号。

让我们分解上面的命令,看看每个部分的作用:

1、history:显示Shell历史记录。

2、| :管道符号单独使用一个或多个命令,它发送一个命令的输出作为下一个命令的输入,也就是说,每个命令都读取前一个命令的输出。

3、cut:从每行文件中删除部分。

4、-c:仅选择某些字符。

5、8-:(N-)显示从第N个字节,字符或字段到行尾的输出,在这种情况下(8-),它会剪切history命令的每行输出的前7个字符,并显示第8个字符的实际命令。

 

方法4、使用fc和sed命令

我们还可以使用fc命令和sed命令来显示没有行号的shell历史记录:

$ fc -l -n 1 | sed 's/^\s*//'

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

 

方法5、使用history和awk命令

忽略行号shell历史记录的另一种方法是使用如下所示的awk命令:

$ history|awk '{$1="";print substr($0,2)}'

显示没有行号的Bash历史记录(使用history、cut、awk、fc、sed命令)

参考:awk命令_Linux awk命令使用详解:文本与数据进行处理的编程语言

 

结语

如果你遇到的情况是在没有前缀编号的情况下显示你的Shell历史记录,以上方法将有所帮助。

 

相关主题

Linux Bash命令示例:历史记录

Linux命令子频道
精选文章
热门文章