如何在Makefile中使用awk中的$1、$n
我可以通过相对路径和正确的行数填充来获得python文件的行数:如何在Makefile中使用awk中的$1、$n,awk,makefile,Awk,Makefile,我可以通过相对路径和正确的行数填充来获得python文件的行数: $ find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $1, $2}' 29 ./setup.py 28 ./proj_one/setup.py 896 ./proj_one/proj_one/data_ns.py 169 ./proj_one/proj_one/lib.py 310 ./proj_one/proj_one/base.py 0
$ find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $1, $2}'
29 ./setup.py
28 ./proj_one/setup.py
896 ./proj_one/proj_one/data_ns.py
169 ./proj_one/proj_one/lib.py
310 ./proj_one/proj_one/base.py
0 ./proj_one/proj_one/__init__.py
72 ./proj_one/tests/lib_test.py
我希望将其保存在生成文件中::
$ cat Makefile
pfile_wc:
@find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $1, $2}'
所以我可以称之为:
$ make pfile_wc
我无法正确地转义/使用Makefile中的
$1
和$2
,您必须在$symbol前面加上另一个符号:
@find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $$1, $$2}'
您必须在$符号前面加上另一个符号:
@find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $$1, $$2}'
可以单独用awk完成<代码>查找-name“*.txt”-exec awk'END{printf”%10s%s\n,NR,FILENAME}{}\代码>可以单独使用awk完成<代码>查找-name“*.txt”-exec awk'END{printf”%10s%s\n,NR,FILENAME}{}\代码>