私はUNIXにイントロのコースを取って、次の宿題の質問持っている:以前の問題のファイルはテキストファイルですどのように多くの人間が読めるBashですべてのファイルを数えるには?
を?テキストファイルとは、人間が読める形式のファイルです。 (TRICK QUESTION。ファイル上でfileコマンドを実行すると、そのファイルがテキストファイルかバイナリデータファイルかを確認できます)
.txt
拡張子のファイル数を数えるだけであれば、この質問のポイントは得られません。
これまでの質問では、いくつの正規ファイルが存在しているかを尋ねただけです。これは、find . -type f | wc -l
を実行することで簡単に把握できました。
バイナリ/アセンブリ以外の何かを意味していると仮定しているので、 "人間が読めるコンテンツ"が何であるかを判断するのが難しいですが、私はそれが-type f
のものだと考えました。多分それは教授が "トリックの質問"と言った意味ですか?
この質問には、「どのテキストファイルに大文字と小文字を混在させた文字列「csc」が含まれていますか」という質問もあります。明らかに「テキスト」は単にファイル.txt
以上を指していますが、これを決定する最初の質問を理解する必要があります。わかりやすくするために追加
いいえ、 'find -type f'はディレクトリ、デバイスノードなどを除外します。 ( "spec ialファイル ")、すなわち純粋なファイル以外のファイルシステムオブジェクトである。ファイルの内容はまったく調べず、ディレクトリエントリ(inode)の型情報だけを調べます。 Unixは "バイナリ"と "テキスト"ファイルを区別していません(このUnixの頭には、そのような区別を定義しようとするどんな試みも滑りやすい斜面に入ります)。 – tripleee