可不可以狭隘的理解为,Linux 的学习,就是命令行的学习,而命令行的学习就是命令参数的学习,丰富而强悍的参数,正是命令的精髓所在。
- last(lastb):show a listing of last logging in users.
0. awk
awk是一个强大的文本分析工具,相对于 grep 的查找,sed 的编辑,awk 在其对数据分析并生成报告时,显得尤为强大。
awk工作流程是这样的:读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符(默认域分隔符是”空白键” 或 “[tab]键”,使用 -F field-sepeartor 指定其他的域分隔符)划分域,填充域:
$0
则表示所有域$1
表示第一个域$n
表示第 n 个域。
$ last -n 5 | awk '{print $1}'
$ cat /etc/passwd | awk -F ':' '{print $1"\t"$7}'
# /etc/passwd 的分隔符为冒号;
$ cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
1. sed(stream editor)
- 删除文件的第一行:sed 1d hello.tsv > hello_noheader.tsv
- sed -n:sed 命令中 p 能实现打印匹配行的功能。
- sed -n 1p test.sh:仅打印第一匹配行。打印前两行: sed -n 1,2p test.sh
- sed 1p test.sh:不仅打印第一匹配行,还输出全部 sh 内容;