我需要有关 shell 脚本的帮助。如何从历史记录中列出已定义别名的所有命令?
答案1
这可能并不完美,但它确实有效:
for i in $(alias | sed 's/alias //g;s/=.*$//g'); do history | grep $i; done
这应该会列出历史记录中列出的所有作为其他命令的别名列出的命令。如果您为 grep 设置了颜色,这应该会将别名显示为红色,这样您就可以看到是否列出了某个命令,但该命令不是完整的别名。
反过来说,要列出历史记录中设置为别名的所有命令,你可以运行以下命令:
for i in $(alias | sed 's/^.*=//g'); do history | egrep "$i"; done