虽然无法读取我的txt文件

虽然无法读取我的txt文件

我正在使用此代码读取和打印“文件名”和“行号”,但该代码无法读取 1 个目录,然后停止而不出现错误消息?!

#!/bin/bash
find . -type d > mydirectory.txt
MyDir=mydirectory.txt
while read -r line; do
    FileDir=$line/*.txt
    for file in ${FileDir}
    do
        awk 'END{q="\047"; print "filename",", nlines"; print q FILENAME q "," q NR q}' "$file"
    done > list.txt
done < mydirectory.txt

第一行:

find . -type d > mydirectory.txt

获取所有目录和子目录然后将其保存在“mydirectory.txt”中。

然后读取“mydirectory.txt”中的每一行:

while read -r line; do
        FileDir=$line/*.txt

请问哪里出了问题,代码只在第一个目录中搜索!问候

答案1

目前尚不完全清楚您的脚本的用途,但我认为这就是它的作用:

{
    echo "filename,nlines"
    find . -type f -name '*.txt' -exec \
        awk -v q="'" 'BEGIN{OFS=q","q}
                      ENDFILE{print q FILENAME, FNR q}' {} +
} > list.txt

上面使用 GNU awk 进行ENDFILE.

相关内容