apt-cache的Bash别名

时间:2014-06-04 22:54:06

标签: linux bash awk

apt-cache search "google chrome" | awk '{print $1}' | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'

那么有没有选择使用bash别名呢?它有效,但我不知道在这种情况下如何传递参数来替换“google chrome”。或者有更简单的方法吗?

此外: 有没有办法为每一行显示架构(apt-cache show)?我之前使用的是gentoo,我总是选择用力,我想......

3 个答案:

答案 0 :(得分:0)

使用"$@"为参数将其写为函数:

search() {
  apt-cache search "$@" | awk '{print $1}' | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'
}

.bashrc中,您可以search google chrome

答案 1 :(得分:0)

#!/bin/bash
apt-cache search $@ | awk '{print $1}' |
while read line; do apt-cache madison $line; done |
sed 's/^ *//' |
perl -pe '$_ = "\e[34m$_\e[39m" if($.%2==1)' ;
echo -e "\e[49m"

这就是我所做的。它确实有效:x

答案 2 :(得分:0)

这是另一种方式:

apt-cache search "$1" | 
 awk '{ print (NR%2) ? "\033[1;29m-> " $1 "\033[0m" : "-> " $1 ; 
        system ("apt-cache show " $1 "| egrep  \"^Package|^Version|^Architecture\"") 
      }'

我也尝试在上面的代码中容纳您的第二个请求(每行apt-cache show)。如果需要,可以修改它。