apt-cache search "google chrome" | awk '{print $1}' | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'
那么有没有选择使用bash别名呢?它有效,但我不知道在这种情况下如何传递参数来替换“google chrome”。或者有更简单的方法吗?
此外: 有没有办法为每一行显示架构(apt-cache show)?我之前使用的是gentoo,我总是选择用力,我想......
答案 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
)。如果需要,可以修改它。