shell脚本之cut

来源:互联网 发布:如何查询淘宝购买记录 编辑:程序博客网 时间:2024/06/03 20:08

cut命令;
-d 指定分隔符
-f指定要截取的列
-c指定第几个区块

题目:写一个脚本
1.设定变量FILE的值为/etc/passwd
2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么
形如:
Hello,root,your UID is 0.
3.统计一个有多少个用户
分析:

文件:

file="/etc/passwd"  #为其赋值

行数:
(方法一)

lines=`wc -l /etc/passwd | cut -d " " -f1`# 此处因为wc -l 会输出行数以及文件名 又因为cut没有默认的分隔符#所以必须用 -d 选项指定分隔符

(方法二)

lines=`wc -l /etc/passwd | awk '{print $1}'`# awk默认以空格或tab做分隔符

用户user及ID

用cut 或 aWK 截取

代码如下,以cut为例:

#! /bin/bashfile="/etc/passwd"lines=`wc -l /etc/passwd |cut -d" " -f1`for i in `seq 1 $lines`do    userid=`head -$i $file |tail -1|cut -d":" -f3`    username=`head -$i $file |tail -1|cut -d":" -f1`    echo " Hello,$username,your UID is $userid."doneecho "there are $lines users" 
原创粉丝点击