0

谁能告诉我这些 sed 命令的作用以及我如何手动执行/插入它们。

sed -i  '/^__func__.*__syncthreads/ {
i\
#if !defined(__CUDA__)
N
N
N
N
a\
#endif
}' $device_functions.h

sed -i  '/^#define __device__ / {
i\
#if !defined(__CUDA__)
N
N
N
N
N
N
N
N
N
N
N
a\
#endif
}' $host_defines.h
4

1 回答 1

3

这就是程序的作用:

  • 第一个程序搜索匹配的行,并使用(immediate output) 和(appended output)^__func__.*__syncthreads将该行和接下来的四行(四行N)换行。#if !defined(__CUDA__)#endifi\a\
  • 第二个程序搜索匹配^#define __device__ 的行并将该行和接下来的 11 行包装在#if !defined(__CUDA__)and中#endif

这是在 和 指定的文件上$host_defines.h分别$device_functions.h以就地方式 ( -i) 完成的,因此文件的内容被更改。

于 2013-06-29T12:51:24.733 回答