linux 获取当前目录下.gcda后缀文件绝对路径,定义一个列表变量保存他们,然后再遍历这个列表
时间: 2024-03-05 22:49:35 浏览: 103
好的,以下是获取当前目录下`.gcda`后缀文件绝对路径,定义一个列表变量保存他们的命令:
```shell
# 获取当前目录下.gcda后缀文件绝对路径
file_list=$(find $(pwd) -name "*.gcda" -type f -print0 | xargs -0 -I {} readlink -f "{}")
# 定义一个列表变量保存他们
list=($file_list)
# 遍历这个列表
for file in "${list[@]}"; do
echo "$file"
done
```
这段命令会将当前目录下所有后缀为`.gcda`的文件的绝对路径保存到一个列表变量`list`中,并且遍历这个列表,打印出每个文件的路径。
相关问题
linux 获取当前目录下.gcda和.gcneo后缀文件绝对路径,定义一个列表变量保存他们,然后再遍历这个列表
好的,以下是获取当前目录下.gcda和.gcneo后缀文件绝对路径,定义一个列表变量保存他们的命令:
```shell
# 获取当前目录下.gcda和.gcneo后缀文件绝对路径
file_list=$(find $(pwd) -name "*.gcda" -o -name "*.gcneo" -type f -print0 | xargs -0 -I {} readlink -f "{}")
# 定义一个列表变量保存他们
list=($file_list)
# 遍历这个列表
for file in "${list[@]}"; do
echo "$file"
done
```
这段命令会将当前目录下所有后缀为`.gcda`和`.gcneo`的文件的绝对路径保存到一个列表变量`list`中,并且遍历这个列表,打印出每个文件的路径。
linux把当前目录下的.gcda后缀文件,去一个目录树下遍历寻找和他们名字一样的cpp文件
可以使用以下命令实现:
```
find /path/to/search -name "*.cpp" -exec sh -c 'for file in /path/to/current/dir/*.gcda; do [ "$(basename "$file" .gcda)" = "$(basename "{}" .cpp)" ] && echo "$file -> {}"; done' \;
```
其中,`/path/to/search` 是要搜索的目录树的根目录,`/path/to/current/dir` 是当前目录的路径,可以替换为 `.` 表示当前目录。
这个命令的原理是用 `find` 命令在 `/path/to/search` 目录及其子目录中查找所有 `.cpp` 文件,然后对每个 `.cpp` 文件执行一个 shell 脚本。脚本会在 `/path/to/current/dir` 目录中查找与当前 `.gcda` 文件同名的 `.cpp` 文件,如果找到了就输出文件路径。
注意,这个命令只能在 Linux 系统中使用,如果在其他系统中使用可能需要做一些调整。
阅读全文