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

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. 谈到云原生, 绕不开"容器化"

    传送门 什么是云原生? 云原生设计理念 .NET微服务 Containers 现在谈到云原生, 绕不开"容器". 在<Cloud Native Patterns>一书中 ...

  2. Linux ulimit使用

    什么是ulimit? ulimit是一个可以设置或者汇报当前用户资源限制的命令.使用ulimit命令需要有管理员权限,它只能在允许使用shell进行控制的系统中使用.也就是说它已经被嵌入到shell当 ...

  3. python Crypto 加密解密

    本片文字记录使用python 的Crypto 工具对图片或者文本进行加密解密的方法: import numpy as np from PIL import Image from base64 impo ...

  4. C- c常见问题分析

    一.遇到undefined symbol怎么办: (1)首先解析未定义符号是什么:[利用c++filt命令] c++filt _ZN4Json5ValueixERKNSt7__cxx1112basic ...

  5. 二进制安装kubernetes(五) kubelet组件安装

    概述资料地址:https://blog.csdn.net/bbwangj/article/details/81904350 Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kube ...

  6. hdu2333-贪心,如何去后效性,背包太大怎么办,如何最大化最小值,从无序序列中发掘有序性质

    补充一下我理解的中文题意.. 你要重新组装电脑..电脑有一些部件..你的预算有b,b(1~1e9),有n个部件..每个部件有类型和名称以及价钱和质量现在你要在不超过预算b的情况下..每个类型都买一个部 ...

  7. hihoCoder Challenge 3

    #1065 : 全图传送 时间限制:30000ms 单点时限:3000ms 内存限制:256MB 描述 先知法里奥是 Dota 系列中的一个英雄.机动性强,推塔能力一流,打钱速度快,传送技能使先知可以 ...

  8. CSS hover box

    CSS hover box transition 踩坑指南, display: none; 作为初始状态,不会产生动画效果,必须设置 height: 0; 或 width: 0; 来实现隐藏! tra ...

  9. TypeScript 4.1 Quick Start Tutorials

    TypeScript 4.1 Quick Start Tutorials TypeScript 4.1 快速上手教程 https://typescript-41-quick-start-tutoria ...

  10. LeetCode Binary Search All In One

    LeetCode Binary Search All In One Binary Search 二分查找算法 https://leetcode-cn.com/problems/binary-searc ...