编写一个shell脚本,在当前目录中查找包含字符串“struct”的C语言文件,找到文件后将文件名显示,并把该文件内容显示出来。 在自己的笔记本电脑上虚拟机上,先创建一个以自己姓名全拼命名的.c文件,文件中需包含struct字符。
时间: 2024-02-06 09:11:41 浏览: 118
好的,我可以为你编写这个脚本。你可以在终端中执行以下命令来创建一个以自己姓名全拼命名的.c文件:
```
echo "struct example_struct { int example_field; };" > yourfullname.c
```
这个命令会在当前目录下创建一个名为`yourfullname.c`的文件,并在其中写入一个包含`struct`字符串的C语言示例代码。
接下来,你可以使用以下命令来查找包含`struct`字符串的C语言文件并显示它们的文件名和内容:
```
grep -rl "struct" ./*.c | while read file; do echo "File: $file"; cat "$file"; done
```
这个命令会在当前目录及其子目录中查找包含`struct`字符串的C语言文件,并对每个文件执行以下操作:
1. 显示文件名。
2. 显示文件内容。
请注意,这个脚本只会显示包含`struct`字符串的C语言文件,而不会显示其他类型的文件。如果你想要搜索其他类型的文件,可以将`./*.c`替换为想要搜索的文件类型的通配符。
相关问题
编写一个shell脚本,在当前目录中查找包含字符串“struct”的C语言文件,找到文件后将文件名显示,并把该文件内容显示出来。
好的,以下是符合你要求的shell脚本:
```bash
#!/bin/bash
# 查找包含字符串“struct”的C语言文件
files=$(grep -rl "struct" *.c)
# 循环遍历符合条件的文件并输出文件名和文件内容
for file in $files
do
echo "File: $file"
cat $file
done
```
你只需要在要查找的目录下创建一个名为 `find_struct.sh` 的文件,将以上代码复制到文件中,并在终端执行 `./find_struct.sh` 即可。注意,在执行脚本前需要先给脚本添加执行权限,可以使用命令 `chmod +x find_struct.sh` 来添加权限。
阅读全文