如何在 tcsh 中打印部分别名定义列表?

如何在 tcsh 中打印部分别名定义列表?

我正在使用 tcsh 在具有大量预定义别名的网络上使用 Fedora 18。我也添加了我自己的个人别名,但我希望能够在单独的列表中显示这些别名。

现在我有一个.cshrc从文件加载别名定义的文件.alias。这是带有预定义别名的文件。我想创建第二个名为 的文件.myalias,将我的个人别名放在那里,然后.cshrc也加载它。效果很好。

遗憾的是,使用该alias命令仅列出所有定义的别名。我只想列出.myalias文件中的我的个人别名,但格式与alias命令的输出相同。有没有办法做到这一点?

答案1

不,我不相信有任何方法可以区分来自系统或文件的别名.myaliases。我通常使用greporless并将命令的输出alias通过管道传输到任一位置以查找我想要的内容。

此外,我通常会遍历文件的内容,例如.myalias查找我要查找的内容。

例子

假设我有以下别名。

$ alias
egrep   egrep --color=auto
fgrep   fgrep --color=auto
grep    grep --color=auto
l.  ls -d .* --color=auto
ll  ls -l --color=auto
ls  ls --color=auto
mc  source /usr/libexec/mc/mc-wrapper.csh
vi  vim
which   alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde

fgrep我会找到像这样的定义:

$ alias | grep "^fgrep"
fgrep   fgrep --color=auto

您还可以使用less它为自己提供多个别名页面的视图,然后可以使用箭头键来回移动这些页面,或者可以使用正斜杠 ( /) 后跟您要查找的任何字符串来搜索输出。

$ alias | less

相关内容