cut 命令:提取文件中指定的字段(列)、字符内容。单词的默认分隔符为空格。
cut [选项]... [文件]...
选项:
-b 按照字节切
-c 按照字符切
-d 指定分割符
-f 指定以分割符分割的哪个字段
head -5 /etc/passwd > /tmp/pass 将passwd文件中的前5行覆盖写入/tmp/pass文件中
cat /tmp/pass 显示/tmp/pass的全文内容
cut -d : -f 6 /tmp/pass 显示/tmp/pass文件中以:分隔的第6列的内容,家目录内容
cut -d : -f 1,7 /tmp/pass 显示/tmp/passwd文件中的第1列(用户名)和第7列(shell解释器)的内容
cut -d : -f 1,4-7 /tmp/pass 取1 4 5 6 7列
cut -d : -f -3 /tmp/pass 取第1列至第3列
cut -d : -f 3- /tmp/pass 取第3列至最后一列
cut -c 1-3 /tmp/pass 取每行的前3个字符
sort 排序(升序、降序)
-n, --numeric-sort 根据数值比较,默认是按单个字符来比较
-r, --reverse 逆序输出排序结果
-t 指定分割符
-k 排序键(即排序的列字段)
-u 去掉重复行
准备阶段:用cat命令创建一个a.txt文件。
说明:以下是用cat命令将EOF...EOF之间的内容覆盖写入(>)到a.txt文件中
cat > a.txt <<EOF
root:1:0:bin
bin:2:200:bash
jim:10:300:bash
tom:102:10:bash
EOF
查看a.txt文件内容:cat a.txt
sort a.txt //默认顺序排序(按第1列排升序)
bin:2:200:bash
jim:10:300:bash
root:1:0:bin
tom:102:10:bash
sort -r a.txt //逆序输出排序结果(按第1列排降序)
tom:102:10:bash
root:1:0:bin
jim:10:300:bash
bin:2:200:bash
sort -t : -k 2 a.txt //按:分割开的以第2部分的第一个字符排序
tom:102:10:bash
jim:10:300:bash
root:1:0:bin
bin:2:200:bash
sort -t : -k 2 -n a.txt //按:分割开的以第2列的数值大小排序(用得最多)
root:1:0:bin
bin:2:200:bash
jim:10:300:bash
tom:102:10:bash
sort -t : -k 1.2 a.txt 按:分割开的以第1列的第2个字符排序
bin:2:200:bash
jim:10:300:bash
root:1:0:bin
tom:102:10:bash
将/etc/passwd 文件中第3列按数值大小排降序
sort -n -r -t : -k 3 /etc/passwd
# echo "bin:2:200:bash" >> a.txt 将echo命令后的文本追加到a.txt文件中
# cat a.txt 显示a.txt全文内容
root:1:0:bin
bin:2:200:bash
jim:10:300:bash
tom:102:10:bash
bin:2:200:bash
# sort a.txt 将a.txt排序输出
bin:2:200:bash
bin:2:200:bash
jim:10:300:bash
root:1:0:bin
tom:102:10:bash
# sort -u a.txt 去掉重复行
bin:2:200:bash
jim:10:300:bash
root:1:0:bin
tom:102:10:bash
1.查看/etc/passwd文件的前2行内容。然后取出本系统中所有的用户名、uid、用户的shell信息将结果保存在/tmp/users.txt文件中?最后用cat查看users.txt文件。
head -2 /etc/passwd 查看前2行
cut -d : -f 1,3,7 /etc/passwd > /tmp/users.txt
cat /tmp/users.txt
说明:-d 指定分隔符,-f 指定字段(即列)
2.统计系统中有多少个用户?
whatis wc 显示命令功能简介
wc /etc/passwd 统计passwd文件中的行数、单词数、字符数<