这个语句分为好几层,我们一层一层来看

1. sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@

首先看加粗这一层,$@表示目标参数中的.d文件, ‘<’ 将.d文件的内容交给sed处理.

2. sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@

这个 ’>‘ 将 sed处理之后的内容再返回给.d文件

3. 现在具体分析sed中的内容

由于sed中的分隔符可以自定义,这里的分割符为','逗号,逗号将整个语句分为四个部分

3.1 s,/($*/)/.o[ :],/1.o $@ : ,g

表示sed文件处理方式为替换文件内容,s,a,b 表示将a替换为b

3.2 's,/($*/)/.o[ :],/1.o $@ : ,g

/(/)表示保存文件的内容,$*表示文件名中除后缀名以外的文件名,同时可以使用/1来表示

.o 表示与 文件名中的.o匹配

[ :]中间是一个空格和一个分号,[]表示与其内容中的某一个字符匹配,因为.d中内容一般为 a.o : a.c a.h b.h之类的内容,[]中的内容对应':'以及左右的空格的内容。因此[ :]对应.o后面的空格或是分号。

3.3 's,/($*/)/.o[ :],/1.o $@ : ,g'

/1.o表示前面的$*,也就是a.o ;$@表示 a.d也就是.d文件,然后就是' : '

3.4 's,/($*/)/.o[ :],/1.o $@ : ,g'

g 获得内存缓冲区的内容,并替代当前模板块中的文本;

因此上述的内容就是将 a.o : a.c a.h b.h 替换为 a.o a.d : a.c a.h b.h

此上。

随机推荐

  1. Codeforces Round #531 (Div. 3) E. Monotonic Renumeration (构造)

    题意:给出一个长度为\(n\)的序列\(a\),根据\(a\)构造一个序列\(b\),要求: ​ 1.\(b_{1}=0\) ​ 2.对于\(i,j(i\le i,j \le n)\),若\(a_{i ...

  2. 牛客编程巅峰赛S1第5场 - 青铜&白银 C.排队 (优先队列,归并排序)

    题意:有\(m\)个窗口,\(n\)个人排队,每个人都有各自的办理时间,只有办理完成窗口才能空出来,后面的人开始办理,求有多少人比后面的人开始办理的早但完成的晚. 题解:我们可以用优先队列来模拟办理, ...

  3. JVM你了解?

    1.谈谈你对JAVA的理解 平台无关性(一次编译,到处运行) GC(不必手动释放堆内存) 语言特性(泛型.lambda) 面向对象(继承,封装,多态) 类库 异常处理 2.平台无关性怎么实现

  4. Loss_Function_of_Linear_Classifier_and_Optimization

    Loss_Function_of_Linear_Classifier_and_Optimization Multiclass SVM Loss:    Given an example(xi, yi& ...

  5. .dmg & .pkg & .ipa

    .dmg & .pkg & .ipa Apple, macOS, iOS .dmg mysql-8.0.21-macos10.15-x86_64.dmg https://dev.mys ...

  6. VS Code Extension

    VS Code Extension https://code.visualstudio.com/api/get-started/your-first-extension xgqfrms 2012-20 ...

  7. App Store Previewer

    App Store Previewer App Store 模拟器 https://www.storepreviewer.com/ xgqfrms 2012-2020 www.cnblogs.com ...

  8. disable html input & pointer-events

    disable html input & pointer-events css https://developer.mozilla.org/en-US/docs/Web/CSS/pointer ...

  9. React-Native Tutorials

    React-Native Tutorials https://egghead.io/courses/react-native-fundamentals part free https://egghea ...

  10. uniapp 自定义弹窗组件

    先上效果: 组件源码:slot-modal.vue <template> <view class="modal-container" v-if="sho ...