shell脚本之cut

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/bash
file="/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."
done
echo "there are $lines users" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值