2016-10-15 42 views
0

使用$ 1,$ n的AWK我有这个获得与行数相对路径和正确的填充我的Python文件的行数:如何在Makefile中

$ 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 

我想有

$ make pfile_wc 

我不能得到正确逃生/使用:它在一个Makefile ::

$ cat Makefile 
pfile_wc: 
      @find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $1, $2}' 

,所以我可以把它和$2在Makefile

+0

可以使用awk单独做...'找到-name的 “* .txt” -exec的awk“END {printf“%10s%s \ n”,NR,FILENAME}'{} \;' – Sundeep

回答

2

你必须在前面加上一个又一个的$符号:

@find ./ -name "*.py" -exec wc -l {} \;| awk '{printf "%10s %s\n", $$1, $$2}'