我想检索不包括前两行的列表
$ pip list
Package Version
---------------------------------- ---------
alabaster 0.7.10
anaconda-client 1.6.9
anaconda-navigator 1.7.0
anaconda-project 0.8.2
appnope 0.1.0
appscript 1.0.1
asn1crypto 0.24.0
astroid 1.6.1
astropy 2.0.3
attrs 17.4.0
如何切断前两行,例如:
pip list | cut line=2
答案1
简单地与tail
命令:
pip list | tail -n+3 -
- 从
tail
签名tail [OPTION]... [FILE]...
- 当FILE
is 时-
,读取标准输入 -n, --lines=[+]NUM
- 输出最后NUM
几行,而不是最后 10 行;或用于-n +NUM
输出以行开头NUM
答案2
只需使用sed
命令:
pip list | sed '1,2d'
说明:该sed
命令删除d
1 到 2 范围内的 ( ) 行(并输出其他所有内容)。
或者awk
:
pip list | awk 'NR > 2'
解释:awk
程序输出第 3 行及以后的所有内容。
awk
如果您计划进一步解析该输出,例如仅提取包名称,那么这将特别有用:
pip list | awk 'NR > 2 { print $1 }'
您在问题中提到的命令cut
(忽略使用的语义是错误的)不会削减线。嗯,确实如此,但它会减少领域出线。