私の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

関連情報