我有一个bash脚本中的以下三个构造: NUMOFLINES=$(wc -l $JAVA_TAGS_FILE) echo $NUMOFLINES" lines" echo $(wc -l $JAVA_TAGS_FILE)" lines" echo "$(wc -l $JAVA_TAGS_FILE) lines" 当脚本运行时,它们都会产生相同的输出: 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines 121711 /home/slash/.java_base.tag lines 即文件的名称也回声(我不想)。 为什么这些脚本失败,我应该如何输出一个干净的: 121711 lines ?
wc -l file.txt 输出行数和文件名。 我只需要数字本身(不是文件名)。 我可以做这个 wc -l file.txt | awk '{print $1}' 但也许有更好的办法?
有没有办法得到wc在bash中返回的整数? 基本上我想在文件名后面写行号和字数。 output: filename linecount wordcount这是我到目前为止: files=`ls` for f in $files; do if [ ! -d $f ] #only print out information about files !directories then # some way of getting the wc integers into shell variables and then printing them echo "$f $lines $ words" fi done
假设我想计算一个项目中的代码行数。 如果所有的文件都在同一个目录下,我可以执行: cat * | wc -l 但是,如果有子目录,这是行不通的。 为了这个工作猫将不得不有一个recursion模式。 我怀疑这可能是xargs的工作,但我想知道是否有一个更优雅的解决scheme?