你好,我想执行一个别名来获取一个特定的列,使用分隔符的参数为了实现这一点,我决定使用 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"
}