如何创建别名来获取列?

如何创建别名来获取列?

你好,我想执行一个别名来获取一个特定的列,使用分隔符的参数为了实现这一点,我决定使用 cut 命令我创建了如下别名,并将其保存在相应的 bashrc 文件中:

alias getColumn='cat $1 | cut -d'$2' -f'$3''

然而当我测试它时我得到了:

VirtualBox:~$ getColumn /tmp/tmp.9Eusfk5cKZ , 3
cut: the delimiter must be a single character
Try 'cut --help' for more information.

SeVirtualBox:~$ getColumn /tmp/tmp.9Eusfk5cKZ "," "3"
cut: the delimiter must be a single character
Try 'cut --help' for more information.
cond try:

从这里收到反馈后我尝试:

#function to get a column
function getColumn() {
    cut -d"$2" -f"$3" "$1"
}

但是我得到:

VirtualBox:~$ getColumn topics " " 2
cut: the delimiter must be a single character
Try 'cut --help' for more information.

我正在使用 ubuntu 来证明这一点,

答案1

来自bash 手册页

替换文本中没有使用参数的机制。如果需要参数,则应使用 shell 函数。

尝试一下这样的事情.bashrc

getColumn() {
    cut -d"$2" -f"$3" "$1"
}

相关内容