当前位置:  开发笔记 > 编程语言 > 正文

将wc行附加到filename

如何解决《将wc行附加到filename》经验,为你挑选了1个好方法。

标题说明了一切.我已经设法得到了这条线:

lines=$(wc file.txt | awk {'print $1'});

但我可以使用辅助将其附加到文件名.奖励点用于向我展示如何在当前目录中的所有.txt文件上循环它.



1> Ruslan Osman..:
find -name '*.txt' -execdir bash -c \
  'mv -v "$0" "${0%.txt}_$(wc -l < "$0").txt"' {} \;

哪里

bash为每个(\;)匹配的文件执行该命令;

{}由当前处理的文件名替换,并作为第一个参数($0)传递给脚本;

${0%.txt}.txt从字符串后面删除最短匹配(参见官方Bash脚本指南);

wc -l < "$0"仅打印文件中的行数(例如,请参阅此问题的答案)

样本输出:

'./file-a.txt' -> 'file-a_5.txt'
'./file with spaces.txt' -> 'file with spaces_8.txt'

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有