请用shell编程编写打印下面这句话中单词的字母数等于 6 的单词 I am oldboy teacher welcome to oldboy training class
时间: 2024-10-27 08:03:32 浏览: 7
你可以使用Shell的内置工具`grep`结合正则表达式来实现这个任务。首先,你需要使用`tr`命令删除句点并将句子转换成小写,然后使用`grep`过滤出长度为6的单词。以下是相应的Shell脚本:
```bash
sentence="I am oldboy teacher welcome to oldboy training class"
cleaned_sentence=$(echo "$sentence" | tr '[:punct:]' '\n' | tr 'A-Z' 'a-z')
words_with_six_letters=$(echo "$cleaned_sentence" | grep -oE '\b\w{6}\b')
echo "长度为6的单词有:"
echo "$words_with_six_letters"
```
在这个脚本中,`tr '[:punct:]' '\n'`用于移除所有的标点符号并换行,`tr 'A-Z' 'a-z'`将大写字母转换为小写字母,使得大小写不敏感。`grep -oE '\b\w{6}\b'`查找所有由六个字母组成的单词(`\b`匹配单词边界)。
相关问题
centos7系统中如何批量创建多个用户 oldboy01 oldboy02 oldboy03 .. oldboy 10; useradd oldboy01;useradd oldboy02;... useradd oldboy10
在 CentOS 7 系统中批量创建多个用户可以使用 shell 脚本或者直接通过命令行操作,这里提供两种方法:
**方法一:使用 bash 脚本**
1. 打开终端并进入你想要编写脚本的目录,例如 `cd /etc/skel` (假设你想将新用户的默认目录设置为 `/etc/skel`,如果没有则可以创建)。
2. 创建一个新的文本文件,比如 `create_users.sh`,然后添加内容:
```bash
#!/bin/bash
for i in {1..10}; do
useradd -m -s /sbin/nologin oldboy$i
done
```
3. 给脚本赋予执行权限:`chmod +x create_users.sh`
4. 运行脚本:`./create_users.sh`
**方法二:直接在命令行输入**
由于逐个手动输入 `useradd` 命令可能会比较繁琐,你可以先编辑一个包含所有用户名的文本文件,比如 `users.txt`,每行一个用户名,然后使用以下命令循环读取文件内容并创建用户:
```bash
while read -r username; do
useradd -m -s /sbin/nologin "$username"
done < users.txt
```
确保 `users.txt` 文件里有 `oldboy01 oldboy02 oldboy03 ... oldboy10`。
注意:在执行上述操作前,请确保你有足够的权限,并谨慎操作,因为批量创建用户会影响系统的安全性和资源管理。
dic1={'name': ['alex', 2, 3, 5, 'wusir'], 'job': 'teacher', 'oldboy': {'alex': ['python1', 'python2', 100]}}用python方法将name对应的列表中的alex首字母大写。
可以使用如下代码实现:
dic1['name'][0] = dic1['name'][0].capitalize()
print(dic1)
输出结果为:
{'name': ['Alex', 2, 3, 5, 'wusir'], 'job': 'teacher', 'oldboy': {'alex': ['python1', 'python2', 100]}}
阅读全文