在OpenWrt 10.03.1-RC6上,以下命令安装iptables stuff:
opkg update && grep -e "Package: iptables-mod-" -e "Package: kmod-ipt-" -e "Package: kmod-nf" -e "Package: .*nfnetlink" -e "Package: .*netfilter" -e "Package: .*iptables" /var/opkg-lists/packages | awk -F ': ' '{print $2}' | xargs opkg install
如何使此命令更紧凑? (例如使用正则表达式。)
答案 0 :(得分:0)
您可以通过此grep命令完全替换grep命令:
grep -E "Package: ((iptables-mod-|kmod-(ipt-|nf))|.*(nfnetlink|netfilter|iptables))" /var/opkg-lists/packages
-E选项指定grep使用扩展正则表达式。我正在使用的扩展正则表达式的特征是:
(c|b)at
这匹配“cat”或“bat”,即只选择圆括号中的一个选项。所以在你的情况下,grep命令将匹配
要更好地了解正则表达式,请使用http://www.grymoire.com/Unix/Regular.html作为参考。正则表达式构成了grep,sed,awk,find和许多其他UNIX命令的基础。因此,如果您掌握了正则表达式,那么这是一个很大的优势。享受!