2016-10-15 83 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}'