使用wc
,我得到的是一行的行数,然后是文件名:
$ wc -l ./lpm/modelisator.py
426 ./lpm/modelisator.py
$
我尝试进行printf格式化:
$ do_stuff() { printf "lines: %s\n" `wc -l $1` ;}
$
$ do_stuff ./lpm/modelisator.py
lines: 426
lines: ./lpm/modelisator.py
$
我想了解为什么我会得到这两行:
顺便说一句,使用文件作为标准输入,我得到了我想要的:
$ do_stuff() { printf "lines: %s\n" `cat $1 |wc -l` ;}
$ do_stuff ./lpm/modelisator.py
lines: 426
$
答案 0 :(得分:1)
调用=QUERY({RepTemplate1!A4:AC63;RepTemplate2!A5:AC64},"SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11 WHERE Col10 = TRUE",1)
时,它将在其中的行数旁边输出文件名。当命令替换没有用双引号引起来时,它将进行单词拆分,即如果其中有空格,则会扩展为多个单词。最后,wc -l filename
反复使用格式,直到使用完所有给定参数为止。
假设printf
内有10行,然后
file
与
相同printf 'lines: %s\n' `wc -l file`
所以,改为这样做:
printf 'lines: %s\nlines: %s\n' '10' 'file'
答案 1 :(得分:0)
只需将\n
替换为<space>
或\t
例如:
## <space> as delimiter
do_stuff() { printf "lines: %s " `wc -l $1` ;}
## <tab> as delimiter
do_stuff() { printf "lines: %s\t" `wc -l $1` ;}