|
查看: 1852|回复: 2
|
请问这个shell里的sed的符号意思是什么?
[复制链接]
|
|
|
大家好,我在看别人编写的makefile里看见了以下的编码。
想请问大家以下的shell的sed里的意思是什么?
我不知道
^ +# 是什么意思
也不知道
# 是什么意思
然后
$< > 和 $@ 又是什么意思
sed -r -e 's/^ +#/#/g' $< > $@
希望各位高手教导教导。 |
|
|
|
|
|
|
|
|
|
|
发表于 25-11-2009 06:14 PM
|
显示全部楼层
读 sed 的 manual -> man sed
sed 是一个 unix like system 的 tools, 专门用来整理, 处理文字的。
-r , 用 extended regular expression (延伸型正規表示法) , 用过 perl 的, 大概会懂得是什么,于 unix like 里面的差不多
-e = 接下来的是 expression
's/^ +#/#/g'
s = substitute
g = global
expression 可解释为, 在每一行里, 凡是开始是 " +#" 的, 全部替换成为 "#".
$< ???????? , 单独 < 应该不能成为 variable 的
$< 是 vairiable, 里面储存的是要 process 的 text ( 这么奇怪的命名 ? 如果这里有错,尽量射 )
> 结果 redirect 成 file
$@ ?????????????
$@ variable -> output 储存的 filename ( 又来奇怪的命名 ? )
整个 command 可解释为, process "$<" (??????) 这个variable 的 file, 在每一行里, 凡是开始是 " +#" 的, 全部替换成为 "#", 结果存入 $@ ( ??????? ) 这个 variable 的 file
[ 本帖最后由 onlylonly 于 25-11-2009 06:23 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 26-11-2009 08:49 AM
|
显示全部楼层
非常谢谢你的解释 ,整个完整的编码是酱的。
$(SRC_DIR)/%.modified.F : %.F
sed -r -e 's/^ +#/#/g' $< > $@
如果加上前面一段,那个最后两个output就能够解释了吗? |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|