gpt4 book ai didi

linux - GNU makefile 中 head、cat 和 awk 的用途是什么

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:23 27 4
gpt4 key购买 nike

我是 Linux 新手,正在尝试了解以下 makefile 语法的功能。我知道不同的命令,如 head 或 awk,但无法确定以下脚本的效果。

头 -c $$((0x100))/dev/zero |猫 - $< | xxd-g1-c4| awk '{print $$5$$4$$3$$2}' > $@

命令和开关的详细解释将受到高度赞赏。

最佳答案

两 block 钱才one escaped dollar sign .

所以:

head -c $((0x100)) /dev/zero

0x100是“256”,所以这是从 /dev/zero 获取前 256 个字节其中produces and endless stream of NULL characters 0x00

然后将其与 first prerequisite. 一起分类。 -是通过管道传输的标准输入, $<在该链接中进行了解释,但它是 makefile 的东西,而不是 linux/shell 的东西)

 cat - $< 

然后通过管道传输到 xxd

xxd -g1 -c4 

这将输出 cat 的结果作为十六进制,用 1 位 ( -g1 ) 分隔八位字节,每行 4 个八位字节 ( -c4 )。我想这里的分隔符已经就位,这样 awk 就可以完成它的任务了。

然后通过管道传输到 awk

awk '{print $5$4$3$2}' > $@

按顺序打印第 5、4、3 和 2 列,它们之间不包含任何字符,并将标准输出重定向到 $@ filename of the target rule这也是另一个 makefile 的东西,而不是 linux/shell 的东西

我不知道为什么。

关于linux - GNU makefile 中 head、cat 和 awk 的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46370538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com