🗺️博客地图
📍1. 判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下?
📍2. 添加一个新组为 class1 ,然后添加属于这个组的 30 个用户,用户名的形式为 stdxx ,其中 xx 从 01 到 30 ?
📍3. 编写 Shell 程序,实现自动删除 50 个账号的功能,账号名为 stud1 至 stud50 ?
📍4. 写一个 sed 命令,修改 /tmp/input.txt 文件的内容?
1. 判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下?
#!/bin/bash
read -p "请输入文件名: " FILENAME
if [ -c "$FILENAME" ];then
cp $FILENAME /dev
fi
2. 添加一个新组为 class1 ,然后添加属于这个组的 30 个用户,用户名的形式为 stdxx ,其中 xx 从 01 到 30 ?
脚本一:
#!/bin/bash
groupadd class1
for((i=1;i<31;i++))
do
if [ $i -le 10 ];then
useradd -g class1 std0$i
else
useradd -g class1 std$i
fi
done
脚本二:
#!/bin/bash
# 创建新组
groupadd class1
# 创建30个用户
for ((i=1;i<=30;i++)); do
# 格式化数字,保留两位数
num=$(printf "%02d" $i)
# 创建新用户
useradd -g class1 std$num
done
# 输出提示信息
echo "30个用户已经添加到class1组中。"
3. 编写 Shell 程序,实现自动删除 50 个账号的功能,账号名为 stud1 至 stud50 ?
#!/bin/bash
for((i=1;i<51;i++))
do
userdel -r stud$i
done
4. 写一个 sed 命令,修改 /tmp/input.txt 文件的内容?
要求:
- 删除所有空行
- 一行中,如果包含 “11111”,则在 “11111” 前面插入 “AAA”,在 “11111” 后面插入 “BBB” 。比如:将内容为 0000111112222 的一行改为 0000AAA11111BBB2222
[root@~]# cat -n /tmp/input.txt
1 000011111222
2
3 000011111222222
4 11111000000222
5
6
7 111111111111122222222222
8 2211111111
9 112222222
10 1122
11
## 删除所有空行命令
[root@~]# sed '/^$/d' /tmp/input.txt
0000111112220000111112222221111100000022211111111111112222222222222111111111122222221122
## 插入指定的字符
[root@~]# sed 's#\(11111\)#AAA\1BBB#g' /tmp/input.txt
0000AAA11111BBB2220000AAA11111BBB222222AAA11111BBB000000222AAA11111BBBAAA11111BBB1112222222222222AAA11111BBB1111122222221122
1073

被折叠的 条评论
为什么被折叠?



