gpt4 book ai didi

bash - 将 wc 行附加到文件名

转载 作者:行者123 更新时间:2023-11-29 09:10:54 26 4
gpt4 key购买 nike

标题说明了一切。我已经设法得到了这个:

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

但我可以使用帮助将其附加到文件名。向我展示如何循环遍历当前目录中的所有 .txt 文件的奖励积分。

最佳答案

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

在哪里

  • bash为每个(\;)匹配的文件执行命令;
  • {}被当前处理的文件名替换并作为第一个参数 ( $0 ) 传递给脚本;
  • ${0%.txt}删除 .txt 的最短匹配从字符串的后面开始(参见 official Bash-scripting guide );
  • wc -l < "$0"仅打印文件中的行数(例如,参见 this question 的答案)

示例输出:

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

关于bash - 将 wc 行附加到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41843165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com