Linux脚本练习之script055-将 `/etc/passwd/` 中的第三个字段数字最大的后 10 个用户信息全部改为大写后保存至 `/tmp/maxusers.txt`。

该博客介绍了一个Shell脚本,用于从/etc/passwd文件中选取第三字段(用户ID)数值最大的后10个用户信息,并将这些信息转换为大写,最终保存到/tmp/maxusers.txt。涉及的命令包括cat、sort、tail和tr。
摘要由CSDN通过智能技术生成

script055

题目

/etc/passwd/ 中的第三个字段数字最大的后 10 个用户信息全部改为大写后保存至 /tmp/maxusers.txt

分析

本题考查的知识点:

  • cat 命令
  • sort 命令
  • tail 命令
  • tr 命令

思路:

  • 使用 cat 命令查看 /etc/passwd 文件内容。
  • 由于 /etc/passwd 文件的第三列表示用户 ID,所以使用 sort 命令进行排序。其中 -t ":" 选项表示按冒号进行分隔;-k 3 选项表示按照第三列(即用户 ID 列)进行排序;由于第三列是数字列,所以需要使用 -n 选项表示按照数字排序。
  • 排序后,是按照升序排列的,所以要获取第三个字段数字最大的后 10 个用户信息,使用 tail -n 10 获取最后十行内容。
  • 使用 tr 命令将所有的小写字母转换成大写字母。
  • 最后将内容保存到文件中。

脚本

#!/bin/bash

####################################
#
# 功能:将 /etc/passwd/ 中的第三个字段数字最大的后 10 个用户信息全部改为大写后保存至 /tmp/maxusers.txt。
#
# 使用:直接调用脚本,不需要任何参数
#
# 作者:lcl100
#
# 日期:2022-06-04
#
####################################


# 将 /etc/passwd/ 中的第三个字段数字最大的后 10 个用户信息全部改为大写后保存至 /tmp/maxusers.txt
cat /etc/passwd | sort -t ":" -k 3 -n | tail -n 10 | tr "[a-z]" "[A-Z]" > /tmp/maxusers.txt

测试

执行 ./script055.sh 调用脚本。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值