将行数放入文件名中

将行数放入文件名中

我想将文件中的行数(行数)放入文件名中。所以如果一个文件包含两行

moon
sun

我想将文件名设置为

filename_2.txt

我尝试使用awk如下方式重命名该文件:

awk 'END{print NR}' filename_$(NR).txt

但这不起作用。

答案1

你可以做:

# !/bin/sh -

for file in ./*.txt; do
    echo mv -v -- "$file" "${file%.txt}_$(<"$file" wc -l).txt"
done

注意:删除echo如果您对结果感到满意。

相关内容