我正在使用包含以下格式的块的 bash_history 文件:#unixtimestamp\ncommand\n
这是 bash_history 文件的示例:
#1713308636
cat > ./initramfs/init << "EOF"
#!/bin/sh
/bin/sh
EOF
#1713308642
file initramfs/init
#1713308686
cpio -v -t -F init.cpio
#1713308689
cpio -v -t -F init.cpio
#1713308690
ls
#1713308691
ls
我的目标是完全消除重复的块,这意味着时间戳和相关命令。我尝试过使用awk
,但这种方法单独处理行,而不将它们视为块的一部分。
我听说 usingignoredups
可以防止重复数据删除,但在这种情况下它不起作用(除非您重新键入确切的命令),因为重复的命令已经存在。
我很感激有关更有效的方法来实现重复数据删除的建议。
编辑:正如埃德·莫顿在评论中所建议的,这是预期的输出:
#1713308636
cat > ./initramfs/init << "EOF"
#!/bin/sh
/bin/sh
EOF
#1713308642
file initramfs/init
#1713308686
cpio -v -t -F init.cpio
#1713308690
ls
作为解决方法,我向该程序添加了删除功能。但我仍然对使用现有命令的其他方法持开放态度。