linux命令 显示目录下所有.c文件,一行展示一个文件名,并在文件名之前添加字符串,字符串内容为${LIBNET_DIR}/
时间: 2024-03-21 19:39:43 浏览: 57
可以使用以下命令来实现:
```
ls *.c | sed "s|^|${LIBNET_DIR}/|"
```
其中,`ls *.c` 表示列出当前目录下所有后缀为 `.c` 的文件名,`sed` 命令用来在文件名前面添加字符串 `${LIBNET_DIR}/`,`s|^|${LIBNET_DIR}/|` 表示用字符串 `${LIBNET_DIR}/` 替换每行开头的空字符。
相关问题
编写一个shell脚本,在当前目录中查找包含字符串“struct”的C语言文件,找到文件后将文件名显示,并把该文件内容显示出来。 在自己的笔记本电脑上虚拟机上,先创建一个以自己姓名全拼命名的.c文件,文件中需包含struct字符。
好的,我可以为你编写这个脚本。你可以在终端中执行以下命令来创建一个以自己姓名全拼命名的.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`替换为想要搜索的文件类型的通配符。
Linux 删除文件名包含字符串的文件命令
可以使用 `find` 命令结合 `rm` 命令来删除文件名包含特定字符串的文件。例如,要删除当前目录及其子目录中文件名包含 "example" 的所有文件,可以执行以下命令:
```bash
find . -type f -name "*example*" -exec rm {} \;
```
这个命令会在当前目录及其子目录中查找所有文件名包含 "example" 的文件,并使用 `rm` 命令将其删除。
阅读全文