こんにちはすべて親ディレクトリからディレクトリを再帰的に検索し、サブディレクトリにいくつのテキストファイル(.txt)があるかを数えるスクリプトを作成しようとしています。私はまた、親ディレクトリへのファイルの相対パスを出力する必要があります。ディレクトリのファイルの検索
があるかもしれません。このフォルダ内には、私はファイル
という名前のフォルダを持っているとしましょう:だから出力は
The files are:
/childFolder1/child1.txt
/childFolder1/child2.txt
/childFolder1/child3.txt
/childFolder2/child4.txt
/childFolder2/child5.txt
/child6.txt
There are 6 files in the 'Files' folder
だろうこれまでのところ私は、スクリプトを持って
Files/childFolder1/child1.txt
Files/childFolder1/child2.txt
Files/childFolder1/child3.txt
Files/childFolder2/child4.txt
Files/childFolder2/child5.txt
Files/child6.txt
これは:
#! /bin/csh
find $argv[1] -iname '*.txt'
set wc=`find $argv[1] -iname '*.txt' | wc -l`
echo "Number of files under" $argv[1] "is" $wc
出力をどのようにしてディレクトリに相対的なファイルパスしか表示しないかわかりません。現在、私の出力は次のようなものです:
/home/Alice/Documents/Files/childFolder1/child1.txt
/home/Alice/Documents/Files/childFolder1/child2.txt
/home/Alice/Documents/Files/childFolder1/child3.txt
/home/Alice/Documents/Files/childFolder2/child4.txt
/home/Alice/Documents/Files/childFolder2/child5.txt
/home/Alice/Documents/Files/child6.txt
Number of files under /home/Alice/Documents/Files is 6
これは望ましくありません。また、$wc
変数の設定方法についても心配しています。ディレクトリ一覧が大きい場合、これは大規模なオーバーヘッドを取得することになります。